// Copyright 2026 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Code generated file. DO NOT EDIT.

// Package aiplatform provides access to the Agent Platform API.
//
// For product documentation, see: https://cloud.google.com/vertex-ai/
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # Creating a client
//
// Usage example:
//
//	import "google.golang.org/api/aiplatform/v1"
//	...
//	ctx := context.Background()
//	aiplatformService, err := aiplatform.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for
// authentication. For information on how to create and obtain Application
// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// # Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate.
// To restrict scopes, use [google.golang.org/api/option.WithScopes]:
//
//	aiplatformService, err := aiplatform.NewService(ctx, option.WithScopes(aiplatform.CloudPlatformReadOnlyScope))
//
// To use an API key for authentication (note: some APIs do not support API
// keys), use [google.golang.org/api/option.WithAPIKey]:
//
//	aiplatformService, err := aiplatform.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
// flow, use [google.golang.org/api/option.WithTokenSource]:
//
//	config := &oauth2.Config{...}
//	// ...
//	token, err := config.Exchange(ctx, ...)
//	aiplatformService, err := aiplatform.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package aiplatform // import "google.golang.org/api/aiplatform/v1"

import (
	"bytes"
	"context"
	"encoding/json"
	"errors"
	"fmt"
	"io"
	"log/slog"
	"net/http"
	"net/url"
	"strconv"
	"strings"

	"github.com/googleapis/gax-go/v2/internallog"
	googleapi "google.golang.org/api/googleapi"
	internal "google.golang.org/api/internal"
	gensupport "google.golang.org/api/internal/gensupport"
	option "google.golang.org/api/option"
	internaloption "google.golang.org/api/option/internaloption"
	htransport "google.golang.org/api/transport/http"
)

// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
var _ = internal.Version
var _ = internallog.New

const apiId = "aiplatform:v1"
const apiName = "aiplatform"
const apiVersion = "v1"
const basePath = "https://aiplatform.googleapis.com/"
const basePathTemplate = "https://aiplatform.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://aiplatform.mtls.googleapis.com/"

// OAuth2 scopes used by this API.
const (
	// See, edit, configure, and delete your Google Cloud data and see the email
	// address for your Google Account.
	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"

	// View your data across Google Cloud services and see the email address of
	// your Google Account
	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
)

// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
	scopesOption := internaloption.WithDefaultScopes(
		"https://www.googleapis.com/auth/cloud-platform",
		"https://www.googleapis.com/auth/cloud-platform.read-only",
	)
	// NOTE: prepend, so we don't override user-specified scopes.
	opts = append([]option.ClientOption{scopesOption}, opts...)
	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
	opts = append(opts, internaloption.EnableNewAuthLibrary())
	client, endpoint, err := htransport.NewClient(ctx, opts...)
	if err != nil {
		return nil, err
	}
	s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
	s.BatchPredictionJobs = NewBatchPredictionJobsService(s)
	s.CustomJobs = NewCustomJobsService(s)
	s.DataLabelingJobs = NewDataLabelingJobsService(s)
	s.Datasets = NewDatasetsService(s)
	s.DeploymentResourcePools = NewDeploymentResourcePoolsService(s)
	s.Endpoints = NewEndpointsService(s)
	s.FeatureGroups = NewFeatureGroupsService(s)
	s.FeatureOnlineStores = NewFeatureOnlineStoresService(s)
	s.Featurestores = NewFeaturestoresService(s)
	s.HyperparameterTuningJobs = NewHyperparameterTuningJobsService(s)
	s.IndexEndpoints = NewIndexEndpointsService(s)
	s.Indexes = NewIndexesService(s)
	s.Media = NewMediaService(s)
	s.MetadataStores = NewMetadataStoresService(s)
	s.MigratableResources = NewMigratableResourcesService(s)
	s.ModelDeploymentMonitoringJobs = NewModelDeploymentMonitoringJobsService(s)
	s.Models = NewModelsService(s)
	s.NotebookExecutionJobs = NewNotebookExecutionJobsService(s)
	s.NotebookRuntimeTemplates = NewNotebookRuntimeTemplatesService(s)
	s.NotebookRuntimes = NewNotebookRuntimesService(s)
	s.Operations = NewOperationsService(s)
	s.PersistentResources = NewPersistentResourcesService(s)
	s.PipelineJobs = NewPipelineJobsService(s)
	s.Projects = NewProjectsService(s)
	s.Publishers = NewPublishersService(s)
	s.RagCorpora = NewRagCorporaService(s)
	s.RagEngineConfig = NewRagEngineConfigService(s)
	s.ReasoningEngines = NewReasoningEnginesService(s)
	s.Schedules = NewSchedulesService(s)
	s.Skills = NewSkillsService(s)
	s.SpecialistPools = NewSpecialistPoolsService(s)
	s.Studies = NewStudiesService(s)
	s.Tensorboards = NewTensorboardsService(s)
	s.TrainingPipelines = NewTrainingPipelinesService(s)
	s.TuningJobs = NewTuningJobsService(s)
	s.V1 = NewV1Service(s)
	if endpoint != "" {
		s.BasePath = endpoint
	}
	return s, nil
}

// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
	if client == nil {
		return nil, errors.New("client is nil")
	}
	return NewService(context.TODO(), option.WithHTTPClient(client))
}

type Service struct {
	client    *http.Client
	logger    *slog.Logger
	BasePath  string // API endpoint base URL
	UserAgent string // optional additional User-Agent fragment

	BatchPredictionJobs *BatchPredictionJobsService

	CustomJobs *CustomJobsService

	DataLabelingJobs *DataLabelingJobsService

	Datasets *DatasetsService

	DeploymentResourcePools *DeploymentResourcePoolsService

	Endpoints *EndpointsService

	FeatureGroups *FeatureGroupsService

	FeatureOnlineStores *FeatureOnlineStoresService

	Featurestores *FeaturestoresService

	HyperparameterTuningJobs *HyperparameterTuningJobsService

	IndexEndpoints *IndexEndpointsService

	Indexes *IndexesService

	Media *MediaService

	MetadataStores *MetadataStoresService

	MigratableResources *MigratableResourcesService

	ModelDeploymentMonitoringJobs *ModelDeploymentMonitoringJobsService

	Models *ModelsService

	NotebookExecutionJobs *NotebookExecutionJobsService

	NotebookRuntimeTemplates *NotebookRuntimeTemplatesService

	NotebookRuntimes *NotebookRuntimesService

	Operations *OperationsService

	PersistentResources *PersistentResourcesService

	PipelineJobs *PipelineJobsService

	Projects *ProjectsService

	Publishers *PublishersService

	RagCorpora *RagCorporaService

	RagEngineConfig *RagEngineConfigService

	ReasoningEngines *ReasoningEnginesService

	Schedules *SchedulesService

	Skills *SkillsService

	SpecialistPools *SpecialistPoolsService

	Studies *StudiesService

	Tensorboards *TensorboardsService

	TrainingPipelines *TrainingPipelinesService

	TuningJobs *TuningJobsService

	V1 *V1Service
}

func (s *Service) userAgent() string {
	if s.UserAgent == "" {
		return googleapi.UserAgent
	}
	return googleapi.UserAgent + " " + s.UserAgent
}

func NewBatchPredictionJobsService(s *Service) *BatchPredictionJobsService {
	rs := &BatchPredictionJobsService{s: s}
	return rs
}

type BatchPredictionJobsService struct {
	s *Service
}

func NewCustomJobsService(s *Service) *CustomJobsService {
	rs := &CustomJobsService{s: s}
	rs.Operations = NewCustomJobsOperationsService(s)
	return rs
}

type CustomJobsService struct {
	s *Service

	Operations *CustomJobsOperationsService
}

func NewCustomJobsOperationsService(s *Service) *CustomJobsOperationsService {
	rs := &CustomJobsOperationsService{s: s}
	return rs
}

type CustomJobsOperationsService struct {
	s *Service
}

func NewDataLabelingJobsService(s *Service) *DataLabelingJobsService {
	rs := &DataLabelingJobsService{s: s}
	rs.Operations = NewDataLabelingJobsOperationsService(s)
	return rs
}

type DataLabelingJobsService struct {
	s *Service

	Operations *DataLabelingJobsOperationsService
}

func NewDataLabelingJobsOperationsService(s *Service) *DataLabelingJobsOperationsService {
	rs := &DataLabelingJobsOperationsService{s: s}
	return rs
}

type DataLabelingJobsOperationsService struct {
	s *Service
}

func NewDatasetsService(s *Service) *DatasetsService {
	rs := &DatasetsService{s: s}
	rs.AnnotationSpecs = NewDatasetsAnnotationSpecsService(s)
	rs.DataItems = NewDatasetsDataItemsService(s)
	rs.DatasetVersions = NewDatasetsDatasetVersionsService(s)
	rs.Operations = NewDatasetsOperationsService(s)
	rs.SavedQueries = NewDatasetsSavedQueriesService(s)
	return rs
}

type DatasetsService struct {
	s *Service

	AnnotationSpecs *DatasetsAnnotationSpecsService

	DataItems *DatasetsDataItemsService

	DatasetVersions *DatasetsDatasetVersionsService

	Operations *DatasetsOperationsService

	SavedQueries *DatasetsSavedQueriesService
}

func NewDatasetsAnnotationSpecsService(s *Service) *DatasetsAnnotationSpecsService {
	rs := &DatasetsAnnotationSpecsService{s: s}
	rs.Operations = NewDatasetsAnnotationSpecsOperationsService(s)
	return rs
}

type DatasetsAnnotationSpecsService struct {
	s *Service

	Operations *DatasetsAnnotationSpecsOperationsService
}

func NewDatasetsAnnotationSpecsOperationsService(s *Service) *DatasetsAnnotationSpecsOperationsService {
	rs := &DatasetsAnnotationSpecsOperationsService{s: s}
	return rs
}

type DatasetsAnnotationSpecsOperationsService struct {
	s *Service
}

func NewDatasetsDataItemsService(s *Service) *DatasetsDataItemsService {
	rs := &DatasetsDataItemsService{s: s}
	rs.Annotations = NewDatasetsDataItemsAnnotationsService(s)
	rs.Operations = NewDatasetsDataItemsOperationsService(s)
	return rs
}

type DatasetsDataItemsService struct {
	s *Service

	Annotations *DatasetsDataItemsAnnotationsService

	Operations *DatasetsDataItemsOperationsService
}

func NewDatasetsDataItemsAnnotationsService(s *Service) *DatasetsDataItemsAnnotationsService {
	rs := &DatasetsDataItemsAnnotationsService{s: s}
	rs.Operations = NewDatasetsDataItemsAnnotationsOperationsService(s)
	return rs
}

type DatasetsDataItemsAnnotationsService struct {
	s *Service

	Operations *DatasetsDataItemsAnnotationsOperationsService
}

func NewDatasetsDataItemsAnnotationsOperationsService(s *Service) *DatasetsDataItemsAnnotationsOperationsService {
	rs := &DatasetsDataItemsAnnotationsOperationsService{s: s}
	return rs
}

type DatasetsDataItemsAnnotationsOperationsService struct {
	s *Service
}

func NewDatasetsDataItemsOperationsService(s *Service) *DatasetsDataItemsOperationsService {
	rs := &DatasetsDataItemsOperationsService{s: s}
	return rs
}

type DatasetsDataItemsOperationsService struct {
	s *Service
}

func NewDatasetsDatasetVersionsService(s *Service) *DatasetsDatasetVersionsService {
	rs := &DatasetsDatasetVersionsService{s: s}
	return rs
}

type DatasetsDatasetVersionsService struct {
	s *Service
}

func NewDatasetsOperationsService(s *Service) *DatasetsOperationsService {
	rs := &DatasetsOperationsService{s: s}
	return rs
}

type DatasetsOperationsService struct {
	s *Service
}

func NewDatasetsSavedQueriesService(s *Service) *DatasetsSavedQueriesService {
	rs := &DatasetsSavedQueriesService{s: s}
	rs.Operations = NewDatasetsSavedQueriesOperationsService(s)
	return rs
}

type DatasetsSavedQueriesService struct {
	s *Service

	Operations *DatasetsSavedQueriesOperationsService
}

func NewDatasetsSavedQueriesOperationsService(s *Service) *DatasetsSavedQueriesOperationsService {
	rs := &DatasetsSavedQueriesOperationsService{s: s}
	return rs
}

type DatasetsSavedQueriesOperationsService struct {
	s *Service
}

func NewDeploymentResourcePoolsService(s *Service) *DeploymentResourcePoolsService {
	rs := &DeploymentResourcePoolsService{s: s}
	rs.Operations = NewDeploymentResourcePoolsOperationsService(s)
	return rs
}

type DeploymentResourcePoolsService struct {
	s *Service

	Operations *DeploymentResourcePoolsOperationsService
}

func NewDeploymentResourcePoolsOperationsService(s *Service) *DeploymentResourcePoolsOperationsService {
	rs := &DeploymentResourcePoolsOperationsService{s: s}
	return rs
}

type DeploymentResourcePoolsOperationsService struct {
	s *Service
}

func NewEndpointsService(s *Service) *EndpointsService {
	rs := &EndpointsService{s: s}
	rs.Chat = NewEndpointsChatService(s)
	rs.Operations = NewEndpointsOperationsService(s)
	return rs
}

type EndpointsService struct {
	s *Service

	Chat *EndpointsChatService

	Operations *EndpointsOperationsService
}

func NewEndpointsChatService(s *Service) *EndpointsChatService {
	rs := &EndpointsChatService{s: s}
	return rs
}

type EndpointsChatService struct {
	s *Service
}

func NewEndpointsOperationsService(s *Service) *EndpointsOperationsService {
	rs := &EndpointsOperationsService{s: s}
	return rs
}

type EndpointsOperationsService struct {
	s *Service
}

func NewFeatureGroupsService(s *Service) *FeatureGroupsService {
	rs := &FeatureGroupsService{s: s}
	rs.Features = NewFeatureGroupsFeaturesService(s)
	rs.Operations = NewFeatureGroupsOperationsService(s)
	return rs
}

type FeatureGroupsService struct {
	s *Service

	Features *FeatureGroupsFeaturesService

	Operations *FeatureGroupsOperationsService
}

func NewFeatureGroupsFeaturesService(s *Service) *FeatureGroupsFeaturesService {
	rs := &FeatureGroupsFeaturesService{s: s}
	rs.Operations = NewFeatureGroupsFeaturesOperationsService(s)
	return rs
}

type FeatureGroupsFeaturesService struct {
	s *Service

	Operations *FeatureGroupsFeaturesOperationsService
}

func NewFeatureGroupsFeaturesOperationsService(s *Service) *FeatureGroupsFeaturesOperationsService {
	rs := &FeatureGroupsFeaturesOperationsService{s: s}
	return rs
}

type FeatureGroupsFeaturesOperationsService struct {
	s *Service
}

func NewFeatureGroupsOperationsService(s *Service) *FeatureGroupsOperationsService {
	rs := &FeatureGroupsOperationsService{s: s}
	return rs
}

type FeatureGroupsOperationsService struct {
	s *Service
}

func NewFeatureOnlineStoresService(s *Service) *FeatureOnlineStoresService {
	rs := &FeatureOnlineStoresService{s: s}
	rs.FeatureViews = NewFeatureOnlineStoresFeatureViewsService(s)
	rs.Operations = NewFeatureOnlineStoresOperationsService(s)
	return rs
}

type FeatureOnlineStoresService struct {
	s *Service

	FeatureViews *FeatureOnlineStoresFeatureViewsService

	Operations *FeatureOnlineStoresOperationsService
}

func NewFeatureOnlineStoresFeatureViewsService(s *Service) *FeatureOnlineStoresFeatureViewsService {
	rs := &FeatureOnlineStoresFeatureViewsService{s: s}
	rs.Operations = NewFeatureOnlineStoresFeatureViewsOperationsService(s)
	return rs
}

type FeatureOnlineStoresFeatureViewsService struct {
	s *Service

	Operations *FeatureOnlineStoresFeatureViewsOperationsService
}

func NewFeatureOnlineStoresFeatureViewsOperationsService(s *Service) *FeatureOnlineStoresFeatureViewsOperationsService {
	rs := &FeatureOnlineStoresFeatureViewsOperationsService{s: s}
	return rs
}

type FeatureOnlineStoresFeatureViewsOperationsService struct {
	s *Service
}

func NewFeatureOnlineStoresOperationsService(s *Service) *FeatureOnlineStoresOperationsService {
	rs := &FeatureOnlineStoresOperationsService{s: s}
	return rs
}

type FeatureOnlineStoresOperationsService struct {
	s *Service
}

func NewFeaturestoresService(s *Service) *FeaturestoresService {
	rs := &FeaturestoresService{s: s}
	rs.EntityTypes = NewFeaturestoresEntityTypesService(s)
	rs.Operations = NewFeaturestoresOperationsService(s)
	return rs
}

type FeaturestoresService struct {
	s *Service

	EntityTypes *FeaturestoresEntityTypesService

	Operations *FeaturestoresOperationsService
}

func NewFeaturestoresEntityTypesService(s *Service) *FeaturestoresEntityTypesService {
	rs := &FeaturestoresEntityTypesService{s: s}
	rs.Features = NewFeaturestoresEntityTypesFeaturesService(s)
	rs.Operations = NewFeaturestoresEntityTypesOperationsService(s)
	return rs
}

type FeaturestoresEntityTypesService struct {
	s *Service

	Features *FeaturestoresEntityTypesFeaturesService

	Operations *FeaturestoresEntityTypesOperationsService
}

func NewFeaturestoresEntityTypesFeaturesService(s *Service) *FeaturestoresEntityTypesFeaturesService {
	rs := &FeaturestoresEntityTypesFeaturesService{s: s}
	rs.Operations = NewFeaturestoresEntityTypesFeaturesOperationsService(s)
	return rs
}

type FeaturestoresEntityTypesFeaturesService struct {
	s *Service

	Operations *FeaturestoresEntityTypesFeaturesOperationsService
}

func NewFeaturestoresEntityTypesFeaturesOperationsService(s *Service) *FeaturestoresEntityTypesFeaturesOperationsService {
	rs := &FeaturestoresEntityTypesFeaturesOperationsService{s: s}
	return rs
}

type FeaturestoresEntityTypesFeaturesOperationsService struct {
	s *Service
}

func NewFeaturestoresEntityTypesOperationsService(s *Service) *FeaturestoresEntityTypesOperationsService {
	rs := &FeaturestoresEntityTypesOperationsService{s: s}
	return rs
}

type FeaturestoresEntityTypesOperationsService struct {
	s *Service
}

func NewFeaturestoresOperationsService(s *Service) *FeaturestoresOperationsService {
	rs := &FeaturestoresOperationsService{s: s}
	return rs
}

type FeaturestoresOperationsService struct {
	s *Service
}

func NewHyperparameterTuningJobsService(s *Service) *HyperparameterTuningJobsService {
	rs := &HyperparameterTuningJobsService{s: s}
	rs.Operations = NewHyperparameterTuningJobsOperationsService(s)
	return rs
}

type HyperparameterTuningJobsService struct {
	s *Service

	Operations *HyperparameterTuningJobsOperationsService
}

func NewHyperparameterTuningJobsOperationsService(s *Service) *HyperparameterTuningJobsOperationsService {
	rs := &HyperparameterTuningJobsOperationsService{s: s}
	return rs
}

type HyperparameterTuningJobsOperationsService struct {
	s *Service
}

func NewIndexEndpointsService(s *Service) *IndexEndpointsService {
	rs := &IndexEndpointsService{s: s}
	rs.Operations = NewIndexEndpointsOperationsService(s)
	return rs
}

type IndexEndpointsService struct {
	s *Service

	Operations *IndexEndpointsOperationsService
}

func NewIndexEndpointsOperationsService(s *Service) *IndexEndpointsOperationsService {
	rs := &IndexEndpointsOperationsService{s: s}
	return rs
}

type IndexEndpointsOperationsService struct {
	s *Service
}

func NewIndexesService(s *Service) *IndexesService {
	rs := &IndexesService{s: s}
	rs.Operations = NewIndexesOperationsService(s)
	return rs
}

type IndexesService struct {
	s *Service

	Operations *IndexesOperationsService
}

func NewIndexesOperationsService(s *Service) *IndexesOperationsService {
	rs := &IndexesOperationsService{s: s}
	return rs
}

type IndexesOperationsService struct {
	s *Service
}

func NewMediaService(s *Service) *MediaService {
	rs := &MediaService{s: s}
	return rs
}

type MediaService struct {
	s *Service
}

func NewMetadataStoresService(s *Service) *MetadataStoresService {
	rs := &MetadataStoresService{s: s}
	rs.Artifacts = NewMetadataStoresArtifactsService(s)
	rs.Contexts = NewMetadataStoresContextsService(s)
	rs.Executions = NewMetadataStoresExecutionsService(s)
	rs.Operations = NewMetadataStoresOperationsService(s)
	return rs
}

type MetadataStoresService struct {
	s *Service

	Artifacts *MetadataStoresArtifactsService

	Contexts *MetadataStoresContextsService

	Executions *MetadataStoresExecutionsService

	Operations *MetadataStoresOperationsService
}

func NewMetadataStoresArtifactsService(s *Service) *MetadataStoresArtifactsService {
	rs := &MetadataStoresArtifactsService{s: s}
	rs.Operations = NewMetadataStoresArtifactsOperationsService(s)
	return rs
}

type MetadataStoresArtifactsService struct {
	s *Service

	Operations *MetadataStoresArtifactsOperationsService
}

func NewMetadataStoresArtifactsOperationsService(s *Service) *MetadataStoresArtifactsOperationsService {
	rs := &MetadataStoresArtifactsOperationsService{s: s}
	return rs
}

type MetadataStoresArtifactsOperationsService struct {
	s *Service
}

func NewMetadataStoresContextsService(s *Service) *MetadataStoresContextsService {
	rs := &MetadataStoresContextsService{s: s}
	rs.Operations = NewMetadataStoresContextsOperationsService(s)
	return rs
}

type MetadataStoresContextsService struct {
	s *Service

	Operations *MetadataStoresContextsOperationsService
}

func NewMetadataStoresContextsOperationsService(s *Service) *MetadataStoresContextsOperationsService {
	rs := &MetadataStoresContextsOperationsService{s: s}
	return rs
}

type MetadataStoresContextsOperationsService struct {
	s *Service
}

func NewMetadataStoresExecutionsService(s *Service) *MetadataStoresExecutionsService {
	rs := &MetadataStoresExecutionsService{s: s}
	rs.Operations = NewMetadataStoresExecutionsOperationsService(s)
	return rs
}

type MetadataStoresExecutionsService struct {
	s *Service

	Operations *MetadataStoresExecutionsOperationsService
}

func NewMetadataStoresExecutionsOperationsService(s *Service) *MetadataStoresExecutionsOperationsService {
	rs := &MetadataStoresExecutionsOperationsService{s: s}
	return rs
}

type MetadataStoresExecutionsOperationsService struct {
	s *Service
}

func NewMetadataStoresOperationsService(s *Service) *MetadataStoresOperationsService {
	rs := &MetadataStoresOperationsService{s: s}
	return rs
}

type MetadataStoresOperationsService struct {
	s *Service
}

func NewMigratableResourcesService(s *Service) *MigratableResourcesService {
	rs := &MigratableResourcesService{s: s}
	rs.Operations = NewMigratableResourcesOperationsService(s)
	return rs
}

type MigratableResourcesService struct {
	s *Service

	Operations *MigratableResourcesOperationsService
}

func NewMigratableResourcesOperationsService(s *Service) *MigratableResourcesOperationsService {
	rs := &MigratableResourcesOperationsService{s: s}
	return rs
}

type MigratableResourcesOperationsService struct {
	s *Service
}

func NewModelDeploymentMonitoringJobsService(s *Service) *ModelDeploymentMonitoringJobsService {
	rs := &ModelDeploymentMonitoringJobsService{s: s}
	rs.Operations = NewModelDeploymentMonitoringJobsOperationsService(s)
	return rs
}

type ModelDeploymentMonitoringJobsService struct {
	s *Service

	Operations *ModelDeploymentMonitoringJobsOperationsService
}

func NewModelDeploymentMonitoringJobsOperationsService(s *Service) *ModelDeploymentMonitoringJobsOperationsService {
	rs := &ModelDeploymentMonitoringJobsOperationsService{s: s}
	return rs
}

type ModelDeploymentMonitoringJobsOperationsService struct {
	s *Service
}

func NewModelsService(s *Service) *ModelsService {
	rs := &ModelsService{s: s}
	rs.Evaluations = NewModelsEvaluationsService(s)
	rs.Operations = NewModelsOperationsService(s)
	return rs
}

type ModelsService struct {
	s *Service

	Evaluations *ModelsEvaluationsService

	Operations *ModelsOperationsService
}

func NewModelsEvaluationsService(s *Service) *ModelsEvaluationsService {
	rs := &ModelsEvaluationsService{s: s}
	rs.Operations = NewModelsEvaluationsOperationsService(s)
	return rs
}

type ModelsEvaluationsService struct {
	s *Service

	Operations *ModelsEvaluationsOperationsService
}

func NewModelsEvaluationsOperationsService(s *Service) *ModelsEvaluationsOperationsService {
	rs := &ModelsEvaluationsOperationsService{s: s}
	return rs
}

type ModelsEvaluationsOperationsService struct {
	s *Service
}

func NewModelsOperationsService(s *Service) *ModelsOperationsService {
	rs := &ModelsOperationsService{s: s}
	return rs
}

type ModelsOperationsService struct {
	s *Service
}

func NewNotebookExecutionJobsService(s *Service) *NotebookExecutionJobsService {
	rs := &NotebookExecutionJobsService{s: s}
	rs.Operations = NewNotebookExecutionJobsOperationsService(s)
	return rs
}

type NotebookExecutionJobsService struct {
	s *Service

	Operations *NotebookExecutionJobsOperationsService
}

func NewNotebookExecutionJobsOperationsService(s *Service) *NotebookExecutionJobsOperationsService {
	rs := &NotebookExecutionJobsOperationsService{s: s}
	return rs
}

type NotebookExecutionJobsOperationsService struct {
	s *Service
}

func NewNotebookRuntimeTemplatesService(s *Service) *NotebookRuntimeTemplatesService {
	rs := &NotebookRuntimeTemplatesService{s: s}
	rs.Operations = NewNotebookRuntimeTemplatesOperationsService(s)
	return rs
}

type NotebookRuntimeTemplatesService struct {
	s *Service

	Operations *NotebookRuntimeTemplatesOperationsService
}

func NewNotebookRuntimeTemplatesOperationsService(s *Service) *NotebookRuntimeTemplatesOperationsService {
	rs := &NotebookRuntimeTemplatesOperationsService{s: s}
	return rs
}

type NotebookRuntimeTemplatesOperationsService struct {
	s *Service
}

func NewNotebookRuntimesService(s *Service) *NotebookRuntimesService {
	rs := &NotebookRuntimesService{s: s}
	rs.Operations = NewNotebookRuntimesOperationsService(s)
	return rs
}

type NotebookRuntimesService struct {
	s *Service

	Operations *NotebookRuntimesOperationsService
}

func NewNotebookRuntimesOperationsService(s *Service) *NotebookRuntimesOperationsService {
	rs := &NotebookRuntimesOperationsService{s: s}
	return rs
}

type NotebookRuntimesOperationsService struct {
	s *Service
}

func NewOperationsService(s *Service) *OperationsService {
	rs := &OperationsService{s: s}
	return rs
}

type OperationsService struct {
	s *Service
}

func NewPersistentResourcesService(s *Service) *PersistentResourcesService {
	rs := &PersistentResourcesService{s: s}
	rs.Operations = NewPersistentResourcesOperationsService(s)
	return rs
}

type PersistentResourcesService struct {
	s *Service

	Operations *PersistentResourcesOperationsService
}

func NewPersistentResourcesOperationsService(s *Service) *PersistentResourcesOperationsService {
	rs := &PersistentResourcesOperationsService{s: s}
	return rs
}

type PersistentResourcesOperationsService struct {
	s *Service
}

func NewPipelineJobsService(s *Service) *PipelineJobsService {
	rs := &PipelineJobsService{s: s}
	rs.Operations = NewPipelineJobsOperationsService(s)
	return rs
}

type PipelineJobsService struct {
	s *Service

	Operations *PipelineJobsOperationsService
}

func NewPipelineJobsOperationsService(s *Service) *PipelineJobsOperationsService {
	rs := &PipelineJobsOperationsService{s: s}
	return rs
}

type PipelineJobsOperationsService struct {
	s *Service
}

func NewProjectsService(s *Service) *ProjectsService {
	rs := &ProjectsService{s: s}
	rs.Locations = NewProjectsLocationsService(s)
	return rs
}

type ProjectsService struct {
	s *Service

	Locations *ProjectsLocationsService
}

func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
	rs := &ProjectsLocationsService{s: s}
	rs.BatchPredictionJobs = NewProjectsLocationsBatchPredictionJobsService(s)
	rs.CachedContents = NewProjectsLocationsCachedContentsService(s)
	rs.CustomJobs = NewProjectsLocationsCustomJobsService(s)
	rs.DataLabelingJobs = NewProjectsLocationsDataLabelingJobsService(s)
	rs.Datasets = NewProjectsLocationsDatasetsService(s)
	rs.DeploymentResourcePools = NewProjectsLocationsDeploymentResourcePoolsService(s)
	rs.Endpoints = NewProjectsLocationsEndpointsService(s)
	rs.EvaluationItems = NewProjectsLocationsEvaluationItemsService(s)
	rs.EvaluationRuns = NewProjectsLocationsEvaluationRunsService(s)
	rs.EvaluationSets = NewProjectsLocationsEvaluationSetsService(s)
	rs.FeatureGroups = NewProjectsLocationsFeatureGroupsService(s)
	rs.FeatureOnlineStores = NewProjectsLocationsFeatureOnlineStoresService(s)
	rs.Featurestores = NewProjectsLocationsFeaturestoresService(s)
	rs.HyperparameterTuningJobs = NewProjectsLocationsHyperparameterTuningJobsService(s)
	rs.IndexEndpoints = NewProjectsLocationsIndexEndpointsService(s)
	rs.Indexes = NewProjectsLocationsIndexesService(s)
	rs.MetadataStores = NewProjectsLocationsMetadataStoresService(s)
	rs.MigratableResources = NewProjectsLocationsMigratableResourcesService(s)
	rs.ModelDeploymentMonitoringJobs = NewProjectsLocationsModelDeploymentMonitoringJobsService(s)
	rs.Models = NewProjectsLocationsModelsService(s)
	rs.NasJobs = NewProjectsLocationsNasJobsService(s)
	rs.NotebookExecutionJobs = NewProjectsLocationsNotebookExecutionJobsService(s)
	rs.NotebookRuntimeTemplates = NewProjectsLocationsNotebookRuntimeTemplatesService(s)
	rs.NotebookRuntimes = NewProjectsLocationsNotebookRuntimesService(s)
	rs.Operations = NewProjectsLocationsOperationsService(s)
	rs.PersistentResources = NewProjectsLocationsPersistentResourcesService(s)
	rs.PipelineJobs = NewProjectsLocationsPipelineJobsService(s)
	rs.Publishers = NewProjectsLocationsPublishersService(s)
	rs.RagCorpora = NewProjectsLocationsRagCorporaService(s)
	rs.RagEngineConfig = NewProjectsLocationsRagEngineConfigService(s)
	rs.ReasoningEngines = NewProjectsLocationsReasoningEnginesService(s)
	rs.Schedules = NewProjectsLocationsSchedulesService(s)
	rs.Skills = NewProjectsLocationsSkillsService(s)
	rs.SpecialistPools = NewProjectsLocationsSpecialistPoolsService(s)
	rs.Studies = NewProjectsLocationsStudiesService(s)
	rs.Tensorboards = NewProjectsLocationsTensorboardsService(s)
	rs.TrainingPipelines = NewProjectsLocationsTrainingPipelinesService(s)
	rs.TuningJobs = NewProjectsLocationsTuningJobsService(s)
	return rs
}

type ProjectsLocationsService struct {
	s *Service

	BatchPredictionJobs *ProjectsLocationsBatchPredictionJobsService

	CachedContents *ProjectsLocationsCachedContentsService

	CustomJobs *ProjectsLocationsCustomJobsService

	DataLabelingJobs *ProjectsLocationsDataLabelingJobsService

	Datasets *ProjectsLocationsDatasetsService

	DeploymentResourcePools *ProjectsLocationsDeploymentResourcePoolsService

	Endpoints *ProjectsLocationsEndpointsService

	EvaluationItems *ProjectsLocationsEvaluationItemsService

	EvaluationRuns *ProjectsLocationsEvaluationRunsService

	EvaluationSets *ProjectsLocationsEvaluationSetsService

	FeatureGroups *ProjectsLocationsFeatureGroupsService

	FeatureOnlineStores *ProjectsLocationsFeatureOnlineStoresService

	Featurestores *ProjectsLocationsFeaturestoresService

	HyperparameterTuningJobs *ProjectsLocationsHyperparameterTuningJobsService

	IndexEndpoints *ProjectsLocationsIndexEndpointsService

	Indexes *ProjectsLocationsIndexesService

	MetadataStores *ProjectsLocationsMetadataStoresService

	MigratableResources *ProjectsLocationsMigratableResourcesService

	ModelDeploymentMonitoringJobs *ProjectsLocationsModelDeploymentMonitoringJobsService

	Models *ProjectsLocationsModelsService

	NasJobs *ProjectsLocationsNasJobsService

	NotebookExecutionJobs *ProjectsLocationsNotebookExecutionJobsService

	NotebookRuntimeTemplates *ProjectsLocationsNotebookRuntimeTemplatesService

	NotebookRuntimes *ProjectsLocationsNotebookRuntimesService

	Operations *ProjectsLocationsOperationsService

	PersistentResources *ProjectsLocationsPersistentResourcesService

	PipelineJobs *ProjectsLocationsPipelineJobsService

	Publishers *ProjectsLocationsPublishersService

	RagCorpora *ProjectsLocationsRagCorporaService

	RagEngineConfig *ProjectsLocationsRagEngineConfigService

	ReasoningEngines *ProjectsLocationsReasoningEnginesService

	Schedules *ProjectsLocationsSchedulesService

	Skills *ProjectsLocationsSkillsService

	SpecialistPools *ProjectsLocationsSpecialistPoolsService

	Studies *ProjectsLocationsStudiesService

	Tensorboards *ProjectsLocationsTensorboardsService

	TrainingPipelines *ProjectsLocationsTrainingPipelinesService

	TuningJobs *ProjectsLocationsTuningJobsService
}

func NewProjectsLocationsBatchPredictionJobsService(s *Service) *ProjectsLocationsBatchPredictionJobsService {
	rs := &ProjectsLocationsBatchPredictionJobsService{s: s}
	return rs
}

type ProjectsLocationsBatchPredictionJobsService struct {
	s *Service
}

func NewProjectsLocationsCachedContentsService(s *Service) *ProjectsLocationsCachedContentsService {
	rs := &ProjectsLocationsCachedContentsService{s: s}
	return rs
}

type ProjectsLocationsCachedContentsService struct {
	s *Service
}

func NewProjectsLocationsCustomJobsService(s *Service) *ProjectsLocationsCustomJobsService {
	rs := &ProjectsLocationsCustomJobsService{s: s}
	rs.Operations = NewProjectsLocationsCustomJobsOperationsService(s)
	return rs
}

type ProjectsLocationsCustomJobsService struct {
	s *Service

	Operations *ProjectsLocationsCustomJobsOperationsService
}

func NewProjectsLocationsCustomJobsOperationsService(s *Service) *ProjectsLocationsCustomJobsOperationsService {
	rs := &ProjectsLocationsCustomJobsOperationsService{s: s}
	return rs
}

type ProjectsLocationsCustomJobsOperationsService struct {
	s *Service
}

func NewProjectsLocationsDataLabelingJobsService(s *Service) *ProjectsLocationsDataLabelingJobsService {
	rs := &ProjectsLocationsDataLabelingJobsService{s: s}
	rs.Operations = NewProjectsLocationsDataLabelingJobsOperationsService(s)
	return rs
}

type ProjectsLocationsDataLabelingJobsService struct {
	s *Service

	Operations *ProjectsLocationsDataLabelingJobsOperationsService
}

func NewProjectsLocationsDataLabelingJobsOperationsService(s *Service) *ProjectsLocationsDataLabelingJobsOperationsService {
	rs := &ProjectsLocationsDataLabelingJobsOperationsService{s: s}
	return rs
}

type ProjectsLocationsDataLabelingJobsOperationsService struct {
	s *Service
}

func NewProjectsLocationsDatasetsService(s *Service) *ProjectsLocationsDatasetsService {
	rs := &ProjectsLocationsDatasetsService{s: s}
	rs.AnnotationSpecs = NewProjectsLocationsDatasetsAnnotationSpecsService(s)
	rs.DataItems = NewProjectsLocationsDatasetsDataItemsService(s)
	rs.DatasetVersions = NewProjectsLocationsDatasetsDatasetVersionsService(s)
	rs.Operations = NewProjectsLocationsDatasetsOperationsService(s)
	rs.SavedQueries = NewProjectsLocationsDatasetsSavedQueriesService(s)
	return rs
}

type ProjectsLocationsDatasetsService struct {
	s *Service

	AnnotationSpecs *ProjectsLocationsDatasetsAnnotationSpecsService

	DataItems *ProjectsLocationsDatasetsDataItemsService

	DatasetVersions *ProjectsLocationsDatasetsDatasetVersionsService

	Operations *ProjectsLocationsDatasetsOperationsService

	SavedQueries *ProjectsLocationsDatasetsSavedQueriesService
}

func NewProjectsLocationsDatasetsAnnotationSpecsService(s *Service) *ProjectsLocationsDatasetsAnnotationSpecsService {
	rs := &ProjectsLocationsDatasetsAnnotationSpecsService{s: s}
	rs.Operations = NewProjectsLocationsDatasetsAnnotationSpecsOperationsService(s)
	return rs
}

type ProjectsLocationsDatasetsAnnotationSpecsService struct {
	s *Service

	Operations *ProjectsLocationsDatasetsAnnotationSpecsOperationsService
}

func NewProjectsLocationsDatasetsAnnotationSpecsOperationsService(s *Service) *ProjectsLocationsDatasetsAnnotationSpecsOperationsService {
	rs := &ProjectsLocationsDatasetsAnnotationSpecsOperationsService{s: s}
	return rs
}

type ProjectsLocationsDatasetsAnnotationSpecsOperationsService struct {
	s *Service
}

func NewProjectsLocationsDatasetsDataItemsService(s *Service) *ProjectsLocationsDatasetsDataItemsService {
	rs := &ProjectsLocationsDatasetsDataItemsService{s: s}
	rs.Annotations = NewProjectsLocationsDatasetsDataItemsAnnotationsService(s)
	rs.Operations = NewProjectsLocationsDatasetsDataItemsOperationsService(s)
	return rs
}

type ProjectsLocationsDatasetsDataItemsService struct {
	s *Service

	Annotations *ProjectsLocationsDatasetsDataItemsAnnotationsService

	Operations *ProjectsLocationsDatasetsDataItemsOperationsService
}

func NewProjectsLocationsDatasetsDataItemsAnnotationsService(s *Service) *ProjectsLocationsDatasetsDataItemsAnnotationsService {
	rs := &ProjectsLocationsDatasetsDataItemsAnnotationsService{s: s}
	rs.Operations = NewProjectsLocationsDatasetsDataItemsAnnotationsOperationsService(s)
	return rs
}

type ProjectsLocationsDatasetsDataItemsAnnotationsService struct {
	s *Service

	Operations *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService
}

func NewProjectsLocationsDatasetsDataItemsAnnotationsOperationsService(s *Service) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService {
	rs := &ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService{s: s}
	return rs
}

type ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService struct {
	s *Service
}

func NewProjectsLocationsDatasetsDataItemsOperationsService(s *Service) *ProjectsLocationsDatasetsDataItemsOperationsService {
	rs := &ProjectsLocationsDatasetsDataItemsOperationsService{s: s}
	return rs
}

type ProjectsLocationsDatasetsDataItemsOperationsService struct {
	s *Service
}

func NewProjectsLocationsDatasetsDatasetVersionsService(s *Service) *ProjectsLocationsDatasetsDatasetVersionsService {
	rs := &ProjectsLocationsDatasetsDatasetVersionsService{s: s}
	return rs
}

type ProjectsLocationsDatasetsDatasetVersionsService struct {
	s *Service
}

func NewProjectsLocationsDatasetsOperationsService(s *Service) *ProjectsLocationsDatasetsOperationsService {
	rs := &ProjectsLocationsDatasetsOperationsService{s: s}
	return rs
}

type ProjectsLocationsDatasetsOperationsService struct {
	s *Service
}

func NewProjectsLocationsDatasetsSavedQueriesService(s *Service) *ProjectsLocationsDatasetsSavedQueriesService {
	rs := &ProjectsLocationsDatasetsSavedQueriesService{s: s}
	rs.Operations = NewProjectsLocationsDatasetsSavedQueriesOperationsService(s)
	return rs
}

type ProjectsLocationsDatasetsSavedQueriesService struct {
	s *Service

	Operations *ProjectsLocationsDatasetsSavedQueriesOperationsService
}

func NewProjectsLocationsDatasetsSavedQueriesOperationsService(s *Service) *ProjectsLocationsDatasetsSavedQueriesOperationsService {
	rs := &ProjectsLocationsDatasetsSavedQueriesOperationsService{s: s}
	return rs
}

type ProjectsLocationsDatasetsSavedQueriesOperationsService struct {
	s *Service
}

func NewProjectsLocationsDeploymentResourcePoolsService(s *Service) *ProjectsLocationsDeploymentResourcePoolsService {
	rs := &ProjectsLocationsDeploymentResourcePoolsService{s: s}
	rs.Operations = NewProjectsLocationsDeploymentResourcePoolsOperationsService(s)
	return rs
}

type ProjectsLocationsDeploymentResourcePoolsService struct {
	s *Service

	Operations *ProjectsLocationsDeploymentResourcePoolsOperationsService
}

func NewProjectsLocationsDeploymentResourcePoolsOperationsService(s *Service) *ProjectsLocationsDeploymentResourcePoolsOperationsService {
	rs := &ProjectsLocationsDeploymentResourcePoolsOperationsService{s: s}
	return rs
}

type ProjectsLocationsDeploymentResourcePoolsOperationsService struct {
	s *Service
}

func NewProjectsLocationsEndpointsService(s *Service) *ProjectsLocationsEndpointsService {
	rs := &ProjectsLocationsEndpointsService{s: s}
	rs.Chat = NewProjectsLocationsEndpointsChatService(s)
	rs.DeployedModels = NewProjectsLocationsEndpointsDeployedModelsService(s)
	rs.Google = NewProjectsLocationsEndpointsGoogleService(s)
	rs.Invoke = NewProjectsLocationsEndpointsInvokeService(s)
	rs.Openapi = NewProjectsLocationsEndpointsOpenapiService(s)
	rs.Operations = NewProjectsLocationsEndpointsOperationsService(s)
	return rs
}

type ProjectsLocationsEndpointsService struct {
	s *Service

	Chat *ProjectsLocationsEndpointsChatService

	DeployedModels *ProjectsLocationsEndpointsDeployedModelsService

	Google *ProjectsLocationsEndpointsGoogleService

	Invoke *ProjectsLocationsEndpointsInvokeService

	Openapi *ProjectsLocationsEndpointsOpenapiService

	Operations *ProjectsLocationsEndpointsOperationsService
}

func NewProjectsLocationsEndpointsChatService(s *Service) *ProjectsLocationsEndpointsChatService {
	rs := &ProjectsLocationsEndpointsChatService{s: s}
	return rs
}

type ProjectsLocationsEndpointsChatService struct {
	s *Service
}

func NewProjectsLocationsEndpointsDeployedModelsService(s *Service) *ProjectsLocationsEndpointsDeployedModelsService {
	rs := &ProjectsLocationsEndpointsDeployedModelsService{s: s}
	rs.Invoke = NewProjectsLocationsEndpointsDeployedModelsInvokeService(s)
	return rs
}

type ProjectsLocationsEndpointsDeployedModelsService struct {
	s *Service

	Invoke *ProjectsLocationsEndpointsDeployedModelsInvokeService
}

func NewProjectsLocationsEndpointsDeployedModelsInvokeService(s *Service) *ProjectsLocationsEndpointsDeployedModelsInvokeService {
	rs := &ProjectsLocationsEndpointsDeployedModelsInvokeService{s: s}
	return rs
}

type ProjectsLocationsEndpointsDeployedModelsInvokeService struct {
	s *Service
}

func NewProjectsLocationsEndpointsGoogleService(s *Service) *ProjectsLocationsEndpointsGoogleService {
	rs := &ProjectsLocationsEndpointsGoogleService{s: s}
	rs.Science = NewProjectsLocationsEndpointsGoogleScienceService(s)
	return rs
}

type ProjectsLocationsEndpointsGoogleService struct {
	s *Service

	Science *ProjectsLocationsEndpointsGoogleScienceService
}

func NewProjectsLocationsEndpointsGoogleScienceService(s *Service) *ProjectsLocationsEndpointsGoogleScienceService {
	rs := &ProjectsLocationsEndpointsGoogleScienceService{s: s}
	return rs
}

type ProjectsLocationsEndpointsGoogleScienceService struct {
	s *Service
}

func NewProjectsLocationsEndpointsInvokeService(s *Service) *ProjectsLocationsEndpointsInvokeService {
	rs := &ProjectsLocationsEndpointsInvokeService{s: s}
	return rs
}

type ProjectsLocationsEndpointsInvokeService struct {
	s *Service
}

func NewProjectsLocationsEndpointsOpenapiService(s *Service) *ProjectsLocationsEndpointsOpenapiService {
	rs := &ProjectsLocationsEndpointsOpenapiService{s: s}
	return rs
}

type ProjectsLocationsEndpointsOpenapiService struct {
	s *Service
}

func NewProjectsLocationsEndpointsOperationsService(s *Service) *ProjectsLocationsEndpointsOperationsService {
	rs := &ProjectsLocationsEndpointsOperationsService{s: s}
	return rs
}

type ProjectsLocationsEndpointsOperationsService struct {
	s *Service
}

func NewProjectsLocationsEvaluationItemsService(s *Service) *ProjectsLocationsEvaluationItemsService {
	rs := &ProjectsLocationsEvaluationItemsService{s: s}
	return rs
}

type ProjectsLocationsEvaluationItemsService struct {
	s *Service
}

func NewProjectsLocationsEvaluationRunsService(s *Service) *ProjectsLocationsEvaluationRunsService {
	rs := &ProjectsLocationsEvaluationRunsService{s: s}
	return rs
}

type ProjectsLocationsEvaluationRunsService struct {
	s *Service
}

func NewProjectsLocationsEvaluationSetsService(s *Service) *ProjectsLocationsEvaluationSetsService {
	rs := &ProjectsLocationsEvaluationSetsService{s: s}
	return rs
}

type ProjectsLocationsEvaluationSetsService struct {
	s *Service
}

func NewProjectsLocationsFeatureGroupsService(s *Service) *ProjectsLocationsFeatureGroupsService {
	rs := &ProjectsLocationsFeatureGroupsService{s: s}
	rs.Features = NewProjectsLocationsFeatureGroupsFeaturesService(s)
	rs.Operations = NewProjectsLocationsFeatureGroupsOperationsService(s)
	return rs
}

type ProjectsLocationsFeatureGroupsService struct {
	s *Service

	Features *ProjectsLocationsFeatureGroupsFeaturesService

	Operations *ProjectsLocationsFeatureGroupsOperationsService
}

func NewProjectsLocationsFeatureGroupsFeaturesService(s *Service) *ProjectsLocationsFeatureGroupsFeaturesService {
	rs := &ProjectsLocationsFeatureGroupsFeaturesService{s: s}
	rs.Operations = NewProjectsLocationsFeatureGroupsFeaturesOperationsService(s)
	return rs
}

type ProjectsLocationsFeatureGroupsFeaturesService struct {
	s *Service

	Operations *ProjectsLocationsFeatureGroupsFeaturesOperationsService
}

func NewProjectsLocationsFeatureGroupsFeaturesOperationsService(s *Service) *ProjectsLocationsFeatureGroupsFeaturesOperationsService {
	rs := &ProjectsLocationsFeatureGroupsFeaturesOperationsService{s: s}
	return rs
}

type ProjectsLocationsFeatureGroupsFeaturesOperationsService struct {
	s *Service
}

func NewProjectsLocationsFeatureGroupsOperationsService(s *Service) *ProjectsLocationsFeatureGroupsOperationsService {
	rs := &ProjectsLocationsFeatureGroupsOperationsService{s: s}
	return rs
}

type ProjectsLocationsFeatureGroupsOperationsService struct {
	s *Service
}

func NewProjectsLocationsFeatureOnlineStoresService(s *Service) *ProjectsLocationsFeatureOnlineStoresService {
	rs := &ProjectsLocationsFeatureOnlineStoresService{s: s}
	rs.FeatureViews = NewProjectsLocationsFeatureOnlineStoresFeatureViewsService(s)
	rs.Operations = NewProjectsLocationsFeatureOnlineStoresOperationsService(s)
	return rs
}

type ProjectsLocationsFeatureOnlineStoresService struct {
	s *Service

	FeatureViews *ProjectsLocationsFeatureOnlineStoresFeatureViewsService

	Operations *ProjectsLocationsFeatureOnlineStoresOperationsService
}

func NewProjectsLocationsFeatureOnlineStoresFeatureViewsService(s *Service) *ProjectsLocationsFeatureOnlineStoresFeatureViewsService {
	rs := &ProjectsLocationsFeatureOnlineStoresFeatureViewsService{s: s}
	rs.FeatureViewSyncs = NewProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService(s)
	rs.Operations = NewProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService(s)
	return rs
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsService struct {
	s *Service

	FeatureViewSyncs *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService

	Operations *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService
}

func NewProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService(s *Service) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService {
	rs := &ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService{s: s}
	return rs
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService struct {
	s *Service
}

func NewProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService(s *Service) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService {
	rs := &ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService{s: s}
	return rs
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService struct {
	s *Service
}

func NewProjectsLocationsFeatureOnlineStoresOperationsService(s *Service) *ProjectsLocationsFeatureOnlineStoresOperationsService {
	rs := &ProjectsLocationsFeatureOnlineStoresOperationsService{s: s}
	return rs
}

type ProjectsLocationsFeatureOnlineStoresOperationsService struct {
	s *Service
}

func NewProjectsLocationsFeaturestoresService(s *Service) *ProjectsLocationsFeaturestoresService {
	rs := &ProjectsLocationsFeaturestoresService{s: s}
	rs.EntityTypes = NewProjectsLocationsFeaturestoresEntityTypesService(s)
	rs.Operations = NewProjectsLocationsFeaturestoresOperationsService(s)
	return rs
}

type ProjectsLocationsFeaturestoresService struct {
	s *Service

	EntityTypes *ProjectsLocationsFeaturestoresEntityTypesService

	Operations *ProjectsLocationsFeaturestoresOperationsService
}

func NewProjectsLocationsFeaturestoresEntityTypesService(s *Service) *ProjectsLocationsFeaturestoresEntityTypesService {
	rs := &ProjectsLocationsFeaturestoresEntityTypesService{s: s}
	rs.Features = NewProjectsLocationsFeaturestoresEntityTypesFeaturesService(s)
	rs.Operations = NewProjectsLocationsFeaturestoresEntityTypesOperationsService(s)
	return rs
}

type ProjectsLocationsFeaturestoresEntityTypesService struct {
	s *Service

	Features *ProjectsLocationsFeaturestoresEntityTypesFeaturesService

	Operations *ProjectsLocationsFeaturestoresEntityTypesOperationsService
}

func NewProjectsLocationsFeaturestoresEntityTypesFeaturesService(s *Service) *ProjectsLocationsFeaturestoresEntityTypesFeaturesService {
	rs := &ProjectsLocationsFeaturestoresEntityTypesFeaturesService{s: s}
	rs.Operations = NewProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService(s)
	return rs
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesService struct {
	s *Service

	Operations *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService
}

func NewProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService(s *Service) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService {
	rs := &ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService{s: s}
	return rs
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService struct {
	s *Service
}

func NewProjectsLocationsFeaturestoresEntityTypesOperationsService(s *Service) *ProjectsLocationsFeaturestoresEntityTypesOperationsService {
	rs := &ProjectsLocationsFeaturestoresEntityTypesOperationsService{s: s}
	return rs
}

type ProjectsLocationsFeaturestoresEntityTypesOperationsService struct {
	s *Service
}

func NewProjectsLocationsFeaturestoresOperationsService(s *Service) *ProjectsLocationsFeaturestoresOperationsService {
	rs := &ProjectsLocationsFeaturestoresOperationsService{s: s}
	return rs
}

type ProjectsLocationsFeaturestoresOperationsService struct {
	s *Service
}

func NewProjectsLocationsHyperparameterTuningJobsService(s *Service) *ProjectsLocationsHyperparameterTuningJobsService {
	rs := &ProjectsLocationsHyperparameterTuningJobsService{s: s}
	rs.Operations = NewProjectsLocationsHyperparameterTuningJobsOperationsService(s)
	return rs
}

type ProjectsLocationsHyperparameterTuningJobsService struct {
	s *Service

	Operations *ProjectsLocationsHyperparameterTuningJobsOperationsService
}

func NewProjectsLocationsHyperparameterTuningJobsOperationsService(s *Service) *ProjectsLocationsHyperparameterTuningJobsOperationsService {
	rs := &ProjectsLocationsHyperparameterTuningJobsOperationsService{s: s}
	return rs
}

type ProjectsLocationsHyperparameterTuningJobsOperationsService struct {
	s *Service
}

func NewProjectsLocationsIndexEndpointsService(s *Service) *ProjectsLocationsIndexEndpointsService {
	rs := &ProjectsLocationsIndexEndpointsService{s: s}
	rs.Operations = NewProjectsLocationsIndexEndpointsOperationsService(s)
	return rs
}

type ProjectsLocationsIndexEndpointsService struct {
	s *Service

	Operations *ProjectsLocationsIndexEndpointsOperationsService
}

func NewProjectsLocationsIndexEndpointsOperationsService(s *Service) *ProjectsLocationsIndexEndpointsOperationsService {
	rs := &ProjectsLocationsIndexEndpointsOperationsService{s: s}
	return rs
}

type ProjectsLocationsIndexEndpointsOperationsService struct {
	s *Service
}

func NewProjectsLocationsIndexesService(s *Service) *ProjectsLocationsIndexesService {
	rs := &ProjectsLocationsIndexesService{s: s}
	rs.Operations = NewProjectsLocationsIndexesOperationsService(s)
	return rs
}

type ProjectsLocationsIndexesService struct {
	s *Service

	Operations *ProjectsLocationsIndexesOperationsService
}

func NewProjectsLocationsIndexesOperationsService(s *Service) *ProjectsLocationsIndexesOperationsService {
	rs := &ProjectsLocationsIndexesOperationsService{s: s}
	return rs
}

type ProjectsLocationsIndexesOperationsService struct {
	s *Service
}

func NewProjectsLocationsMetadataStoresService(s *Service) *ProjectsLocationsMetadataStoresService {
	rs := &ProjectsLocationsMetadataStoresService{s: s}
	rs.Artifacts = NewProjectsLocationsMetadataStoresArtifactsService(s)
	rs.Contexts = NewProjectsLocationsMetadataStoresContextsService(s)
	rs.Executions = NewProjectsLocationsMetadataStoresExecutionsService(s)
	rs.MetadataSchemas = NewProjectsLocationsMetadataStoresMetadataSchemasService(s)
	rs.Operations = NewProjectsLocationsMetadataStoresOperationsService(s)
	return rs
}

type ProjectsLocationsMetadataStoresService struct {
	s *Service

	Artifacts *ProjectsLocationsMetadataStoresArtifactsService

	Contexts *ProjectsLocationsMetadataStoresContextsService

	Executions *ProjectsLocationsMetadataStoresExecutionsService

	MetadataSchemas *ProjectsLocationsMetadataStoresMetadataSchemasService

	Operations *ProjectsLocationsMetadataStoresOperationsService
}

func NewProjectsLocationsMetadataStoresArtifactsService(s *Service) *ProjectsLocationsMetadataStoresArtifactsService {
	rs := &ProjectsLocationsMetadataStoresArtifactsService{s: s}
	rs.Operations = NewProjectsLocationsMetadataStoresArtifactsOperationsService(s)
	return rs
}

type ProjectsLocationsMetadataStoresArtifactsService struct {
	s *Service

	Operations *ProjectsLocationsMetadataStoresArtifactsOperationsService
}

func NewProjectsLocationsMetadataStoresArtifactsOperationsService(s *Service) *ProjectsLocationsMetadataStoresArtifactsOperationsService {
	rs := &ProjectsLocationsMetadataStoresArtifactsOperationsService{s: s}
	return rs
}

type ProjectsLocationsMetadataStoresArtifactsOperationsService struct {
	s *Service
}

func NewProjectsLocationsMetadataStoresContextsService(s *Service) *ProjectsLocationsMetadataStoresContextsService {
	rs := &ProjectsLocationsMetadataStoresContextsService{s: s}
	rs.Operations = NewProjectsLocationsMetadataStoresContextsOperationsService(s)
	return rs
}

type ProjectsLocationsMetadataStoresContextsService struct {
	s *Service

	Operations *ProjectsLocationsMetadataStoresContextsOperationsService
}

func NewProjectsLocationsMetadataStoresContextsOperationsService(s *Service) *ProjectsLocationsMetadataStoresContextsOperationsService {
	rs := &ProjectsLocationsMetadataStoresContextsOperationsService{s: s}
	return rs
}

type ProjectsLocationsMetadataStoresContextsOperationsService struct {
	s *Service
}

func NewProjectsLocationsMetadataStoresExecutionsService(s *Service) *ProjectsLocationsMetadataStoresExecutionsService {
	rs := &ProjectsLocationsMetadataStoresExecutionsService{s: s}
	rs.Operations = NewProjectsLocationsMetadataStoresExecutionsOperationsService(s)
	return rs
}

type ProjectsLocationsMetadataStoresExecutionsService struct {
	s *Service

	Operations *ProjectsLocationsMetadataStoresExecutionsOperationsService
}

func NewProjectsLocationsMetadataStoresExecutionsOperationsService(s *Service) *ProjectsLocationsMetadataStoresExecutionsOperationsService {
	rs := &ProjectsLocationsMetadataStoresExecutionsOperationsService{s: s}
	return rs
}

type ProjectsLocationsMetadataStoresExecutionsOperationsService struct {
	s *Service
}

func NewProjectsLocationsMetadataStoresMetadataSchemasService(s *Service) *ProjectsLocationsMetadataStoresMetadataSchemasService {
	rs := &ProjectsLocationsMetadataStoresMetadataSchemasService{s: s}
	return rs
}

type ProjectsLocationsMetadataStoresMetadataSchemasService struct {
	s *Service
}

func NewProjectsLocationsMetadataStoresOperationsService(s *Service) *ProjectsLocationsMetadataStoresOperationsService {
	rs := &ProjectsLocationsMetadataStoresOperationsService{s: s}
	return rs
}

type ProjectsLocationsMetadataStoresOperationsService struct {
	s *Service
}

func NewProjectsLocationsMigratableResourcesService(s *Service) *ProjectsLocationsMigratableResourcesService {
	rs := &ProjectsLocationsMigratableResourcesService{s: s}
	rs.Operations = NewProjectsLocationsMigratableResourcesOperationsService(s)
	return rs
}

type ProjectsLocationsMigratableResourcesService struct {
	s *Service

	Operations *ProjectsLocationsMigratableResourcesOperationsService
}

func NewProjectsLocationsMigratableResourcesOperationsService(s *Service) *ProjectsLocationsMigratableResourcesOperationsService {
	rs := &ProjectsLocationsMigratableResourcesOperationsService{s: s}
	return rs
}

type ProjectsLocationsMigratableResourcesOperationsService struct {
	s *Service
}

func NewProjectsLocationsModelDeploymentMonitoringJobsService(s *Service) *ProjectsLocationsModelDeploymentMonitoringJobsService {
	rs := &ProjectsLocationsModelDeploymentMonitoringJobsService{s: s}
	rs.Operations = NewProjectsLocationsModelDeploymentMonitoringJobsOperationsService(s)
	return rs
}

type ProjectsLocationsModelDeploymentMonitoringJobsService struct {
	s *Service

	Operations *ProjectsLocationsModelDeploymentMonitoringJobsOperationsService
}

func NewProjectsLocationsModelDeploymentMonitoringJobsOperationsService(s *Service) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsService {
	rs := &ProjectsLocationsModelDeploymentMonitoringJobsOperationsService{s: s}
	return rs
}

type ProjectsLocationsModelDeploymentMonitoringJobsOperationsService struct {
	s *Service
}

func NewProjectsLocationsModelsService(s *Service) *ProjectsLocationsModelsService {
	rs := &ProjectsLocationsModelsService{s: s}
	rs.Evaluations = NewProjectsLocationsModelsEvaluationsService(s)
	rs.Operations = NewProjectsLocationsModelsOperationsService(s)
	return rs
}

type ProjectsLocationsModelsService struct {
	s *Service

	Evaluations *ProjectsLocationsModelsEvaluationsService

	Operations *ProjectsLocationsModelsOperationsService
}

func NewProjectsLocationsModelsEvaluationsService(s *Service) *ProjectsLocationsModelsEvaluationsService {
	rs := &ProjectsLocationsModelsEvaluationsService{s: s}
	rs.Operations = NewProjectsLocationsModelsEvaluationsOperationsService(s)
	rs.Slices = NewProjectsLocationsModelsEvaluationsSlicesService(s)
	return rs
}

type ProjectsLocationsModelsEvaluationsService struct {
	s *Service

	Operations *ProjectsLocationsModelsEvaluationsOperationsService

	Slices *ProjectsLocationsModelsEvaluationsSlicesService
}

func NewProjectsLocationsModelsEvaluationsOperationsService(s *Service) *ProjectsLocationsModelsEvaluationsOperationsService {
	rs := &ProjectsLocationsModelsEvaluationsOperationsService{s: s}
	return rs
}

type ProjectsLocationsModelsEvaluationsOperationsService struct {
	s *Service
}

func NewProjectsLocationsModelsEvaluationsSlicesService(s *Service) *ProjectsLocationsModelsEvaluationsSlicesService {
	rs := &ProjectsLocationsModelsEvaluationsSlicesService{s: s}
	return rs
}

type ProjectsLocationsModelsEvaluationsSlicesService struct {
	s *Service
}

func NewProjectsLocationsModelsOperationsService(s *Service) *ProjectsLocationsModelsOperationsService {
	rs := &ProjectsLocationsModelsOperationsService{s: s}
	return rs
}

type ProjectsLocationsModelsOperationsService struct {
	s *Service
}

func NewProjectsLocationsNasJobsService(s *Service) *ProjectsLocationsNasJobsService {
	rs := &ProjectsLocationsNasJobsService{s: s}
	rs.NasTrialDetails = NewProjectsLocationsNasJobsNasTrialDetailsService(s)
	return rs
}

type ProjectsLocationsNasJobsService struct {
	s *Service

	NasTrialDetails *ProjectsLocationsNasJobsNasTrialDetailsService
}

func NewProjectsLocationsNasJobsNasTrialDetailsService(s *Service) *ProjectsLocationsNasJobsNasTrialDetailsService {
	rs := &ProjectsLocationsNasJobsNasTrialDetailsService{s: s}
	return rs
}

type ProjectsLocationsNasJobsNasTrialDetailsService struct {
	s *Service
}

func NewProjectsLocationsNotebookExecutionJobsService(s *Service) *ProjectsLocationsNotebookExecutionJobsService {
	rs := &ProjectsLocationsNotebookExecutionJobsService{s: s}
	rs.Operations = NewProjectsLocationsNotebookExecutionJobsOperationsService(s)
	return rs
}

type ProjectsLocationsNotebookExecutionJobsService struct {
	s *Service

	Operations *ProjectsLocationsNotebookExecutionJobsOperationsService
}

func NewProjectsLocationsNotebookExecutionJobsOperationsService(s *Service) *ProjectsLocationsNotebookExecutionJobsOperationsService {
	rs := &ProjectsLocationsNotebookExecutionJobsOperationsService{s: s}
	return rs
}

type ProjectsLocationsNotebookExecutionJobsOperationsService struct {
	s *Service
}

func NewProjectsLocationsNotebookRuntimeTemplatesService(s *Service) *ProjectsLocationsNotebookRuntimeTemplatesService {
	rs := &ProjectsLocationsNotebookRuntimeTemplatesService{s: s}
	rs.Operations = NewProjectsLocationsNotebookRuntimeTemplatesOperationsService(s)
	return rs
}

type ProjectsLocationsNotebookRuntimeTemplatesService struct {
	s *Service

	Operations *ProjectsLocationsNotebookRuntimeTemplatesOperationsService
}

func NewProjectsLocationsNotebookRuntimeTemplatesOperationsService(s *Service) *ProjectsLocationsNotebookRuntimeTemplatesOperationsService {
	rs := &ProjectsLocationsNotebookRuntimeTemplatesOperationsService{s: s}
	return rs
}

type ProjectsLocationsNotebookRuntimeTemplatesOperationsService struct {
	s *Service
}

func NewProjectsLocationsNotebookRuntimesService(s *Service) *ProjectsLocationsNotebookRuntimesService {
	rs := &ProjectsLocationsNotebookRuntimesService{s: s}
	rs.Operations = NewProjectsLocationsNotebookRuntimesOperationsService(s)
	return rs
}

type ProjectsLocationsNotebookRuntimesService struct {
	s *Service

	Operations *ProjectsLocationsNotebookRuntimesOperationsService
}

func NewProjectsLocationsNotebookRuntimesOperationsService(s *Service) *ProjectsLocationsNotebookRuntimesOperationsService {
	rs := &ProjectsLocationsNotebookRuntimesOperationsService{s: s}
	return rs
}

type ProjectsLocationsNotebookRuntimesOperationsService struct {
	s *Service
}

func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
	rs := &ProjectsLocationsOperationsService{s: s}
	return rs
}

type ProjectsLocationsOperationsService struct {
	s *Service
}

func NewProjectsLocationsPersistentResourcesService(s *Service) *ProjectsLocationsPersistentResourcesService {
	rs := &ProjectsLocationsPersistentResourcesService{s: s}
	rs.Operations = NewProjectsLocationsPersistentResourcesOperationsService(s)
	return rs
}

type ProjectsLocationsPersistentResourcesService struct {
	s *Service

	Operations *ProjectsLocationsPersistentResourcesOperationsService
}

func NewProjectsLocationsPersistentResourcesOperationsService(s *Service) *ProjectsLocationsPersistentResourcesOperationsService {
	rs := &ProjectsLocationsPersistentResourcesOperationsService{s: s}
	return rs
}

type ProjectsLocationsPersistentResourcesOperationsService struct {
	s *Service
}

func NewProjectsLocationsPipelineJobsService(s *Service) *ProjectsLocationsPipelineJobsService {
	rs := &ProjectsLocationsPipelineJobsService{s: s}
	rs.Operations = NewProjectsLocationsPipelineJobsOperationsService(s)
	return rs
}

type ProjectsLocationsPipelineJobsService struct {
	s *Service

	Operations *ProjectsLocationsPipelineJobsOperationsService
}

func NewProjectsLocationsPipelineJobsOperationsService(s *Service) *ProjectsLocationsPipelineJobsOperationsService {
	rs := &ProjectsLocationsPipelineJobsOperationsService{s: s}
	return rs
}

type ProjectsLocationsPipelineJobsOperationsService struct {
	s *Service
}

func NewProjectsLocationsPublishersService(s *Service) *ProjectsLocationsPublishersService {
	rs := &ProjectsLocationsPublishersService{s: s}
	rs.Models = NewProjectsLocationsPublishersModelsService(s)
	return rs
}

type ProjectsLocationsPublishersService struct {
	s *Service

	Models *ProjectsLocationsPublishersModelsService
}

func NewProjectsLocationsPublishersModelsService(s *Service) *ProjectsLocationsPublishersModelsService {
	rs := &ProjectsLocationsPublishersModelsService{s: s}
	rs.Invoke = NewProjectsLocationsPublishersModelsInvokeService(s)
	return rs
}

type ProjectsLocationsPublishersModelsService struct {
	s *Service

	Invoke *ProjectsLocationsPublishersModelsInvokeService
}

func NewProjectsLocationsPublishersModelsInvokeService(s *Service) *ProjectsLocationsPublishersModelsInvokeService {
	rs := &ProjectsLocationsPublishersModelsInvokeService{s: s}
	return rs
}

type ProjectsLocationsPublishersModelsInvokeService struct {
	s *Service
}

func NewProjectsLocationsRagCorporaService(s *Service) *ProjectsLocationsRagCorporaService {
	rs := &ProjectsLocationsRagCorporaService{s: s}
	rs.Operations = NewProjectsLocationsRagCorporaOperationsService(s)
	rs.RagFiles = NewProjectsLocationsRagCorporaRagFilesService(s)
	return rs
}

type ProjectsLocationsRagCorporaService struct {
	s *Service

	Operations *ProjectsLocationsRagCorporaOperationsService

	RagFiles *ProjectsLocationsRagCorporaRagFilesService
}

func NewProjectsLocationsRagCorporaOperationsService(s *Service) *ProjectsLocationsRagCorporaOperationsService {
	rs := &ProjectsLocationsRagCorporaOperationsService{s: s}
	return rs
}

type ProjectsLocationsRagCorporaOperationsService struct {
	s *Service
}

func NewProjectsLocationsRagCorporaRagFilesService(s *Service) *ProjectsLocationsRagCorporaRagFilesService {
	rs := &ProjectsLocationsRagCorporaRagFilesService{s: s}
	rs.Operations = NewProjectsLocationsRagCorporaRagFilesOperationsService(s)
	return rs
}

type ProjectsLocationsRagCorporaRagFilesService struct {
	s *Service

	Operations *ProjectsLocationsRagCorporaRagFilesOperationsService
}

func NewProjectsLocationsRagCorporaRagFilesOperationsService(s *Service) *ProjectsLocationsRagCorporaRagFilesOperationsService {
	rs := &ProjectsLocationsRagCorporaRagFilesOperationsService{s: s}
	return rs
}

type ProjectsLocationsRagCorporaRagFilesOperationsService struct {
	s *Service
}

func NewProjectsLocationsRagEngineConfigService(s *Service) *ProjectsLocationsRagEngineConfigService {
	rs := &ProjectsLocationsRagEngineConfigService{s: s}
	rs.Operations = NewProjectsLocationsRagEngineConfigOperationsService(s)
	return rs
}

type ProjectsLocationsRagEngineConfigService struct {
	s *Service

	Operations *ProjectsLocationsRagEngineConfigOperationsService
}

func NewProjectsLocationsRagEngineConfigOperationsService(s *Service) *ProjectsLocationsRagEngineConfigOperationsService {
	rs := &ProjectsLocationsRagEngineConfigOperationsService{s: s}
	return rs
}

type ProjectsLocationsRagEngineConfigOperationsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesService(s *Service) *ProjectsLocationsReasoningEnginesService {
	rs := &ProjectsLocationsReasoningEnginesService{s: s}
	rs.Memories = NewProjectsLocationsReasoningEnginesMemoriesService(s)
	rs.Operations = NewProjectsLocationsReasoningEnginesOperationsService(s)
	rs.RuntimeRevisions = NewProjectsLocationsReasoningEnginesRuntimeRevisionsService(s)
	rs.SandboxEnvironmentSnapshots = NewProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService(s)
	rs.SandboxEnvironmentTemplates = NewProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService(s)
	rs.SandboxEnvironments = NewProjectsLocationsReasoningEnginesSandboxEnvironmentsService(s)
	rs.Sessions = NewProjectsLocationsReasoningEnginesSessionsService(s)
	return rs
}

type ProjectsLocationsReasoningEnginesService struct {
	s *Service

	Memories *ProjectsLocationsReasoningEnginesMemoriesService

	Operations *ProjectsLocationsReasoningEnginesOperationsService

	RuntimeRevisions *ProjectsLocationsReasoningEnginesRuntimeRevisionsService

	SandboxEnvironmentSnapshots *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService

	SandboxEnvironmentTemplates *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService

	SandboxEnvironments *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService

	Sessions *ProjectsLocationsReasoningEnginesSessionsService
}

func NewProjectsLocationsReasoningEnginesMemoriesService(s *Service) *ProjectsLocationsReasoningEnginesMemoriesService {
	rs := &ProjectsLocationsReasoningEnginesMemoriesService{s: s}
	rs.Operations = NewProjectsLocationsReasoningEnginesMemoriesOperationsService(s)
	rs.Revisions = NewProjectsLocationsReasoningEnginesMemoriesRevisionsService(s)
	return rs
}

type ProjectsLocationsReasoningEnginesMemoriesService struct {
	s *Service

	Operations *ProjectsLocationsReasoningEnginesMemoriesOperationsService

	Revisions *ProjectsLocationsReasoningEnginesMemoriesRevisionsService
}

func NewProjectsLocationsReasoningEnginesMemoriesOperationsService(s *Service) *ProjectsLocationsReasoningEnginesMemoriesOperationsService {
	rs := &ProjectsLocationsReasoningEnginesMemoriesOperationsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesMemoriesOperationsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesMemoriesRevisionsService(s *Service) *ProjectsLocationsReasoningEnginesMemoriesRevisionsService {
	rs := &ProjectsLocationsReasoningEnginesMemoriesRevisionsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesMemoriesRevisionsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesOperationsService(s *Service) *ProjectsLocationsReasoningEnginesOperationsService {
	rs := &ProjectsLocationsReasoningEnginesOperationsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesOperationsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesRuntimeRevisionsService(s *Service) *ProjectsLocationsReasoningEnginesRuntimeRevisionsService {
	rs := &ProjectsLocationsReasoningEnginesRuntimeRevisionsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesRuntimeRevisionsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService(s *Service) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService {
	rs := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService{s: s}
	rs.Operations = NewProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService(s)
	return rs
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService struct {
	s *Service

	Operations *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService
}

func NewProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService(s *Service) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService {
	rs := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService(s *Service) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService {
	rs := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService{s: s}
	rs.Operations = NewProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService(s)
	return rs
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService struct {
	s *Service

	Operations *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService
}

func NewProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService(s *Service) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService {
	rs := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesSandboxEnvironmentsService(s *Service) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService {
	rs := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsService{s: s}
	rs.Operations = NewProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService(s)
	return rs
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsService struct {
	s *Service

	Operations *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService
}

func NewProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService(s *Service) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService {
	rs := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesSessionsService(s *Service) *ProjectsLocationsReasoningEnginesSessionsService {
	rs := &ProjectsLocationsReasoningEnginesSessionsService{s: s}
	rs.Events = NewProjectsLocationsReasoningEnginesSessionsEventsService(s)
	rs.Operations = NewProjectsLocationsReasoningEnginesSessionsOperationsService(s)
	return rs
}

type ProjectsLocationsReasoningEnginesSessionsService struct {
	s *Service

	Events *ProjectsLocationsReasoningEnginesSessionsEventsService

	Operations *ProjectsLocationsReasoningEnginesSessionsOperationsService
}

func NewProjectsLocationsReasoningEnginesSessionsEventsService(s *Service) *ProjectsLocationsReasoningEnginesSessionsEventsService {
	rs := &ProjectsLocationsReasoningEnginesSessionsEventsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesSessionsEventsService struct {
	s *Service
}

func NewProjectsLocationsReasoningEnginesSessionsOperationsService(s *Service) *ProjectsLocationsReasoningEnginesSessionsOperationsService {
	rs := &ProjectsLocationsReasoningEnginesSessionsOperationsService{s: s}
	return rs
}

type ProjectsLocationsReasoningEnginesSessionsOperationsService struct {
	s *Service
}

func NewProjectsLocationsSchedulesService(s *Service) *ProjectsLocationsSchedulesService {
	rs := &ProjectsLocationsSchedulesService{s: s}
	rs.Operations = NewProjectsLocationsSchedulesOperationsService(s)
	return rs
}

type ProjectsLocationsSchedulesService struct {
	s *Service

	Operations *ProjectsLocationsSchedulesOperationsService
}

func NewProjectsLocationsSchedulesOperationsService(s *Service) *ProjectsLocationsSchedulesOperationsService {
	rs := &ProjectsLocationsSchedulesOperationsService{s: s}
	return rs
}

type ProjectsLocationsSchedulesOperationsService struct {
	s *Service
}

func NewProjectsLocationsSkillsService(s *Service) *ProjectsLocationsSkillsService {
	rs := &ProjectsLocationsSkillsService{s: s}
	rs.Operations = NewProjectsLocationsSkillsOperationsService(s)
	return rs
}

type ProjectsLocationsSkillsService struct {
	s *Service

	Operations *ProjectsLocationsSkillsOperationsService
}

func NewProjectsLocationsSkillsOperationsService(s *Service) *ProjectsLocationsSkillsOperationsService {
	rs := &ProjectsLocationsSkillsOperationsService{s: s}
	return rs
}

type ProjectsLocationsSkillsOperationsService struct {
	s *Service
}

func NewProjectsLocationsSpecialistPoolsService(s *Service) *ProjectsLocationsSpecialistPoolsService {
	rs := &ProjectsLocationsSpecialistPoolsService{s: s}
	rs.Operations = NewProjectsLocationsSpecialistPoolsOperationsService(s)
	return rs
}

type ProjectsLocationsSpecialistPoolsService struct {
	s *Service

	Operations *ProjectsLocationsSpecialistPoolsOperationsService
}

func NewProjectsLocationsSpecialistPoolsOperationsService(s *Service) *ProjectsLocationsSpecialistPoolsOperationsService {
	rs := &ProjectsLocationsSpecialistPoolsOperationsService{s: s}
	return rs
}

type ProjectsLocationsSpecialistPoolsOperationsService struct {
	s *Service
}

func NewProjectsLocationsStudiesService(s *Service) *ProjectsLocationsStudiesService {
	rs := &ProjectsLocationsStudiesService{s: s}
	rs.Operations = NewProjectsLocationsStudiesOperationsService(s)
	rs.Trials = NewProjectsLocationsStudiesTrialsService(s)
	return rs
}

type ProjectsLocationsStudiesService struct {
	s *Service

	Operations *ProjectsLocationsStudiesOperationsService

	Trials *ProjectsLocationsStudiesTrialsService
}

func NewProjectsLocationsStudiesOperationsService(s *Service) *ProjectsLocationsStudiesOperationsService {
	rs := &ProjectsLocationsStudiesOperationsService{s: s}
	return rs
}

type ProjectsLocationsStudiesOperationsService struct {
	s *Service
}

func NewProjectsLocationsStudiesTrialsService(s *Service) *ProjectsLocationsStudiesTrialsService {
	rs := &ProjectsLocationsStudiesTrialsService{s: s}
	rs.Operations = NewProjectsLocationsStudiesTrialsOperationsService(s)
	return rs
}

type ProjectsLocationsStudiesTrialsService struct {
	s *Service

	Operations *ProjectsLocationsStudiesTrialsOperationsService
}

func NewProjectsLocationsStudiesTrialsOperationsService(s *Service) *ProjectsLocationsStudiesTrialsOperationsService {
	rs := &ProjectsLocationsStudiesTrialsOperationsService{s: s}
	return rs
}

type ProjectsLocationsStudiesTrialsOperationsService struct {
	s *Service
}

func NewProjectsLocationsTensorboardsService(s *Service) *ProjectsLocationsTensorboardsService {
	rs := &ProjectsLocationsTensorboardsService{s: s}
	rs.Experiments = NewProjectsLocationsTensorboardsExperimentsService(s)
	rs.Operations = NewProjectsLocationsTensorboardsOperationsService(s)
	return rs
}

type ProjectsLocationsTensorboardsService struct {
	s *Service

	Experiments *ProjectsLocationsTensorboardsExperimentsService

	Operations *ProjectsLocationsTensorboardsOperationsService
}

func NewProjectsLocationsTensorboardsExperimentsService(s *Service) *ProjectsLocationsTensorboardsExperimentsService {
	rs := &ProjectsLocationsTensorboardsExperimentsService{s: s}
	rs.Operations = NewProjectsLocationsTensorboardsExperimentsOperationsService(s)
	rs.Runs = NewProjectsLocationsTensorboardsExperimentsRunsService(s)
	return rs
}

type ProjectsLocationsTensorboardsExperimentsService struct {
	s *Service

	Operations *ProjectsLocationsTensorboardsExperimentsOperationsService

	Runs *ProjectsLocationsTensorboardsExperimentsRunsService
}

func NewProjectsLocationsTensorboardsExperimentsOperationsService(s *Service) *ProjectsLocationsTensorboardsExperimentsOperationsService {
	rs := &ProjectsLocationsTensorboardsExperimentsOperationsService{s: s}
	return rs
}

type ProjectsLocationsTensorboardsExperimentsOperationsService struct {
	s *Service
}

func NewProjectsLocationsTensorboardsExperimentsRunsService(s *Service) *ProjectsLocationsTensorboardsExperimentsRunsService {
	rs := &ProjectsLocationsTensorboardsExperimentsRunsService{s: s}
	rs.Operations = NewProjectsLocationsTensorboardsExperimentsRunsOperationsService(s)
	rs.TimeSeries = NewProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService(s)
	return rs
}

type ProjectsLocationsTensorboardsExperimentsRunsService struct {
	s *Service

	Operations *ProjectsLocationsTensorboardsExperimentsRunsOperationsService

	TimeSeries *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService
}

func NewProjectsLocationsTensorboardsExperimentsRunsOperationsService(s *Service) *ProjectsLocationsTensorboardsExperimentsRunsOperationsService {
	rs := &ProjectsLocationsTensorboardsExperimentsRunsOperationsService{s: s}
	return rs
}

type ProjectsLocationsTensorboardsExperimentsRunsOperationsService struct {
	s *Service
}

func NewProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService(s *Service) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService {
	rs := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService{s: s}
	rs.Operations = NewProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService(s)
	return rs
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService struct {
	s *Service

	Operations *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService
}

func NewProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService(s *Service) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService {
	rs := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService{s: s}
	return rs
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService struct {
	s *Service
}

func NewProjectsLocationsTensorboardsOperationsService(s *Service) *ProjectsLocationsTensorboardsOperationsService {
	rs := &ProjectsLocationsTensorboardsOperationsService{s: s}
	return rs
}

type ProjectsLocationsTensorboardsOperationsService struct {
	s *Service
}

func NewProjectsLocationsTrainingPipelinesService(s *Service) *ProjectsLocationsTrainingPipelinesService {
	rs := &ProjectsLocationsTrainingPipelinesService{s: s}
	rs.Operations = NewProjectsLocationsTrainingPipelinesOperationsService(s)
	return rs
}

type ProjectsLocationsTrainingPipelinesService struct {
	s *Service

	Operations *ProjectsLocationsTrainingPipelinesOperationsService
}

func NewProjectsLocationsTrainingPipelinesOperationsService(s *Service) *ProjectsLocationsTrainingPipelinesOperationsService {
	rs := &ProjectsLocationsTrainingPipelinesOperationsService{s: s}
	return rs
}

type ProjectsLocationsTrainingPipelinesOperationsService struct {
	s *Service
}

func NewProjectsLocationsTuningJobsService(s *Service) *ProjectsLocationsTuningJobsService {
	rs := &ProjectsLocationsTuningJobsService{s: s}
	rs.Operations = NewProjectsLocationsTuningJobsOperationsService(s)
	return rs
}

type ProjectsLocationsTuningJobsService struct {
	s *Service

	Operations *ProjectsLocationsTuningJobsOperationsService
}

func NewProjectsLocationsTuningJobsOperationsService(s *Service) *ProjectsLocationsTuningJobsOperationsService {
	rs := &ProjectsLocationsTuningJobsOperationsService{s: s}
	return rs
}

type ProjectsLocationsTuningJobsOperationsService struct {
	s *Service
}

func NewPublishersService(s *Service) *PublishersService {
	rs := &PublishersService{s: s}
	rs.Models = NewPublishersModelsService(s)
	return rs
}

type PublishersService struct {
	s *Service

	Models *PublishersModelsService
}

func NewPublishersModelsService(s *Service) *PublishersModelsService {
	rs := &PublishersModelsService{s: s}
	return rs
}

type PublishersModelsService struct {
	s *Service
}

func NewRagCorporaService(s *Service) *RagCorporaService {
	rs := &RagCorporaService{s: s}
	rs.Operations = NewRagCorporaOperationsService(s)
	rs.RagFiles = NewRagCorporaRagFilesService(s)
	return rs
}

type RagCorporaService struct {
	s *Service

	Operations *RagCorporaOperationsService

	RagFiles *RagCorporaRagFilesService
}

func NewRagCorporaOperationsService(s *Service) *RagCorporaOperationsService {
	rs := &RagCorporaOperationsService{s: s}
	return rs
}

type RagCorporaOperationsService struct {
	s *Service
}

func NewRagCorporaRagFilesService(s *Service) *RagCorporaRagFilesService {
	rs := &RagCorporaRagFilesService{s: s}
	rs.Operations = NewRagCorporaRagFilesOperationsService(s)
	return rs
}

type RagCorporaRagFilesService struct {
	s *Service

	Operations *RagCorporaRagFilesOperationsService
}

func NewRagCorporaRagFilesOperationsService(s *Service) *RagCorporaRagFilesOperationsService {
	rs := &RagCorporaRagFilesOperationsService{s: s}
	return rs
}

type RagCorporaRagFilesOperationsService struct {
	s *Service
}

func NewRagEngineConfigService(s *Service) *RagEngineConfigService {
	rs := &RagEngineConfigService{s: s}
	rs.Operations = NewRagEngineConfigOperationsService(s)
	return rs
}

type RagEngineConfigService struct {
	s *Service

	Operations *RagEngineConfigOperationsService
}

func NewRagEngineConfigOperationsService(s *Service) *RagEngineConfigOperationsService {
	rs := &RagEngineConfigOperationsService{s: s}
	return rs
}

type RagEngineConfigOperationsService struct {
	s *Service
}

func NewReasoningEnginesService(s *Service) *ReasoningEnginesService {
	rs := &ReasoningEnginesService{s: s}
	rs.Memories = NewReasoningEnginesMemoriesService(s)
	rs.Operations = NewReasoningEnginesOperationsService(s)
	rs.RuntimeRevisions = NewReasoningEnginesRuntimeRevisionsService(s)
	rs.SandboxEnvironmentSnapshots = NewReasoningEnginesSandboxEnvironmentSnapshotsService(s)
	rs.SandboxEnvironmentTemplates = NewReasoningEnginesSandboxEnvironmentTemplatesService(s)
	rs.SandboxEnvironments = NewReasoningEnginesSandboxEnvironmentsService(s)
	rs.Sessions = NewReasoningEnginesSessionsService(s)
	return rs
}

type ReasoningEnginesService struct {
	s *Service

	Memories *ReasoningEnginesMemoriesService

	Operations *ReasoningEnginesOperationsService

	RuntimeRevisions *ReasoningEnginesRuntimeRevisionsService

	SandboxEnvironmentSnapshots *ReasoningEnginesSandboxEnvironmentSnapshotsService

	SandboxEnvironmentTemplates *ReasoningEnginesSandboxEnvironmentTemplatesService

	SandboxEnvironments *ReasoningEnginesSandboxEnvironmentsService

	Sessions *ReasoningEnginesSessionsService
}

func NewReasoningEnginesMemoriesService(s *Service) *ReasoningEnginesMemoriesService {
	rs := &ReasoningEnginesMemoriesService{s: s}
	rs.Operations = NewReasoningEnginesMemoriesOperationsService(s)
	return rs
}

type ReasoningEnginesMemoriesService struct {
	s *Service

	Operations *ReasoningEnginesMemoriesOperationsService
}

func NewReasoningEnginesMemoriesOperationsService(s *Service) *ReasoningEnginesMemoriesOperationsService {
	rs := &ReasoningEnginesMemoriesOperationsService{s: s}
	return rs
}

type ReasoningEnginesMemoriesOperationsService struct {
	s *Service
}

func NewReasoningEnginesOperationsService(s *Service) *ReasoningEnginesOperationsService {
	rs := &ReasoningEnginesOperationsService{s: s}
	return rs
}

type ReasoningEnginesOperationsService struct {
	s *Service
}

func NewReasoningEnginesRuntimeRevisionsService(s *Service) *ReasoningEnginesRuntimeRevisionsService {
	rs := &ReasoningEnginesRuntimeRevisionsService{s: s}
	return rs
}

type ReasoningEnginesRuntimeRevisionsService struct {
	s *Service
}

func NewReasoningEnginesSandboxEnvironmentSnapshotsService(s *Service) *ReasoningEnginesSandboxEnvironmentSnapshotsService {
	rs := &ReasoningEnginesSandboxEnvironmentSnapshotsService{s: s}
	rs.Operations = NewReasoningEnginesSandboxEnvironmentSnapshotsOperationsService(s)
	return rs
}

type ReasoningEnginesSandboxEnvironmentSnapshotsService struct {
	s *Service

	Operations *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService
}

func NewReasoningEnginesSandboxEnvironmentSnapshotsOperationsService(s *Service) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService {
	rs := &ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService{s: s}
	return rs
}

type ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService struct {
	s *Service
}

func NewReasoningEnginesSandboxEnvironmentTemplatesService(s *Service) *ReasoningEnginesSandboxEnvironmentTemplatesService {
	rs := &ReasoningEnginesSandboxEnvironmentTemplatesService{s: s}
	rs.Operations = NewReasoningEnginesSandboxEnvironmentTemplatesOperationsService(s)
	return rs
}

type ReasoningEnginesSandboxEnvironmentTemplatesService struct {
	s *Service

	Operations *ReasoningEnginesSandboxEnvironmentTemplatesOperationsService
}

func NewReasoningEnginesSandboxEnvironmentTemplatesOperationsService(s *Service) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsService {
	rs := &ReasoningEnginesSandboxEnvironmentTemplatesOperationsService{s: s}
	return rs
}

type ReasoningEnginesSandboxEnvironmentTemplatesOperationsService struct {
	s *Service
}

func NewReasoningEnginesSandboxEnvironmentsService(s *Service) *ReasoningEnginesSandboxEnvironmentsService {
	rs := &ReasoningEnginesSandboxEnvironmentsService{s: s}
	rs.Operations = NewReasoningEnginesSandboxEnvironmentsOperationsService(s)
	return rs
}

type ReasoningEnginesSandboxEnvironmentsService struct {
	s *Service

	Operations *ReasoningEnginesSandboxEnvironmentsOperationsService
}

func NewReasoningEnginesSandboxEnvironmentsOperationsService(s *Service) *ReasoningEnginesSandboxEnvironmentsOperationsService {
	rs := &ReasoningEnginesSandboxEnvironmentsOperationsService{s: s}
	return rs
}

type ReasoningEnginesSandboxEnvironmentsOperationsService struct {
	s *Service
}

func NewReasoningEnginesSessionsService(s *Service) *ReasoningEnginesSessionsService {
	rs := &ReasoningEnginesSessionsService{s: s}
	rs.Operations = NewReasoningEnginesSessionsOperationsService(s)
	return rs
}

type ReasoningEnginesSessionsService struct {
	s *Service

	Operations *ReasoningEnginesSessionsOperationsService
}

func NewReasoningEnginesSessionsOperationsService(s *Service) *ReasoningEnginesSessionsOperationsService {
	rs := &ReasoningEnginesSessionsOperationsService{s: s}
	return rs
}

type ReasoningEnginesSessionsOperationsService struct {
	s *Service
}

func NewSchedulesService(s *Service) *SchedulesService {
	rs := &SchedulesService{s: s}
	rs.Operations = NewSchedulesOperationsService(s)
	return rs
}

type SchedulesService struct {
	s *Service

	Operations *SchedulesOperationsService
}

func NewSchedulesOperationsService(s *Service) *SchedulesOperationsService {
	rs := &SchedulesOperationsService{s: s}
	return rs
}

type SchedulesOperationsService struct {
	s *Service
}

func NewSkillsService(s *Service) *SkillsService {
	rs := &SkillsService{s: s}
	rs.Operations = NewSkillsOperationsService(s)
	return rs
}

type SkillsService struct {
	s *Service

	Operations *SkillsOperationsService
}

func NewSkillsOperationsService(s *Service) *SkillsOperationsService {
	rs := &SkillsOperationsService{s: s}
	return rs
}

type SkillsOperationsService struct {
	s *Service
}

func NewSpecialistPoolsService(s *Service) *SpecialistPoolsService {
	rs := &SpecialistPoolsService{s: s}
	rs.Operations = NewSpecialistPoolsOperationsService(s)
	return rs
}

type SpecialistPoolsService struct {
	s *Service

	Operations *SpecialistPoolsOperationsService
}

func NewSpecialistPoolsOperationsService(s *Service) *SpecialistPoolsOperationsService {
	rs := &SpecialistPoolsOperationsService{s: s}
	return rs
}

type SpecialistPoolsOperationsService struct {
	s *Service
}

func NewStudiesService(s *Service) *StudiesService {
	rs := &StudiesService{s: s}
	rs.Operations = NewStudiesOperationsService(s)
	rs.Trials = NewStudiesTrialsService(s)
	return rs
}

type StudiesService struct {
	s *Service

	Operations *StudiesOperationsService

	Trials *StudiesTrialsService
}

func NewStudiesOperationsService(s *Service) *StudiesOperationsService {
	rs := &StudiesOperationsService{s: s}
	return rs
}

type StudiesOperationsService struct {
	s *Service
}

func NewStudiesTrialsService(s *Service) *StudiesTrialsService {
	rs := &StudiesTrialsService{s: s}
	rs.Operations = NewStudiesTrialsOperationsService(s)
	return rs
}

type StudiesTrialsService struct {
	s *Service

	Operations *StudiesTrialsOperationsService
}

func NewStudiesTrialsOperationsService(s *Service) *StudiesTrialsOperationsService {
	rs := &StudiesTrialsOperationsService{s: s}
	return rs
}

type StudiesTrialsOperationsService struct {
	s *Service
}

func NewTensorboardsService(s *Service) *TensorboardsService {
	rs := &TensorboardsService{s: s}
	rs.Experiments = NewTensorboardsExperimentsService(s)
	rs.Operations = NewTensorboardsOperationsService(s)
	return rs
}

type TensorboardsService struct {
	s *Service

	Experiments *TensorboardsExperimentsService

	Operations *TensorboardsOperationsService
}

func NewTensorboardsExperimentsService(s *Service) *TensorboardsExperimentsService {
	rs := &TensorboardsExperimentsService{s: s}
	rs.Operations = NewTensorboardsExperimentsOperationsService(s)
	rs.Runs = NewTensorboardsExperimentsRunsService(s)
	return rs
}

type TensorboardsExperimentsService struct {
	s *Service

	Operations *TensorboardsExperimentsOperationsService

	Runs *TensorboardsExperimentsRunsService
}

func NewTensorboardsExperimentsOperationsService(s *Service) *TensorboardsExperimentsOperationsService {
	rs := &TensorboardsExperimentsOperationsService{s: s}
	return rs
}

type TensorboardsExperimentsOperationsService struct {
	s *Service
}

func NewTensorboardsExperimentsRunsService(s *Service) *TensorboardsExperimentsRunsService {
	rs := &TensorboardsExperimentsRunsService{s: s}
	rs.Operations = NewTensorboardsExperimentsRunsOperationsService(s)
	rs.TimeSeries = NewTensorboardsExperimentsRunsTimeSeriesService(s)
	return rs
}

type TensorboardsExperimentsRunsService struct {
	s *Service

	Operations *TensorboardsExperimentsRunsOperationsService

	TimeSeries *TensorboardsExperimentsRunsTimeSeriesService
}

func NewTensorboardsExperimentsRunsOperationsService(s *Service) *TensorboardsExperimentsRunsOperationsService {
	rs := &TensorboardsExperimentsRunsOperationsService{s: s}
	return rs
}

type TensorboardsExperimentsRunsOperationsService struct {
	s *Service
}

func NewTensorboardsExperimentsRunsTimeSeriesService(s *Service) *TensorboardsExperimentsRunsTimeSeriesService {
	rs := &TensorboardsExperimentsRunsTimeSeriesService{s: s}
	rs.Operations = NewTensorboardsExperimentsRunsTimeSeriesOperationsService(s)
	return rs
}

type TensorboardsExperimentsRunsTimeSeriesService struct {
	s *Service

	Operations *TensorboardsExperimentsRunsTimeSeriesOperationsService
}

func NewTensorboardsExperimentsRunsTimeSeriesOperationsService(s *Service) *TensorboardsExperimentsRunsTimeSeriesOperationsService {
	rs := &TensorboardsExperimentsRunsTimeSeriesOperationsService{s: s}
	return rs
}

type TensorboardsExperimentsRunsTimeSeriesOperationsService struct {
	s *Service
}

func NewTensorboardsOperationsService(s *Service) *TensorboardsOperationsService {
	rs := &TensorboardsOperationsService{s: s}
	return rs
}

type TensorboardsOperationsService struct {
	s *Service
}

func NewTrainingPipelinesService(s *Service) *TrainingPipelinesService {
	rs := &TrainingPipelinesService{s: s}
	rs.Operations = NewTrainingPipelinesOperationsService(s)
	return rs
}

type TrainingPipelinesService struct {
	s *Service

	Operations *TrainingPipelinesOperationsService
}

func NewTrainingPipelinesOperationsService(s *Service) *TrainingPipelinesOperationsService {
	rs := &TrainingPipelinesOperationsService{s: s}
	return rs
}

type TrainingPipelinesOperationsService struct {
	s *Service
}

func NewTuningJobsService(s *Service) *TuningJobsService {
	rs := &TuningJobsService{s: s}
	rs.Operations = NewTuningJobsOperationsService(s)
	return rs
}

type TuningJobsService struct {
	s *Service

	Operations *TuningJobsOperationsService
}

func NewTuningJobsOperationsService(s *Service) *TuningJobsOperationsService {
	rs := &TuningJobsOperationsService{s: s}
	return rs
}

type TuningJobsOperationsService struct {
	s *Service
}

func NewV1Service(s *Service) *V1Service {
	rs := &V1Service{s: s}
	return rs
}

type V1Service struct {
	s *Service
}

// CloudAiLargeModelsVisionGenerateVideoExperiments: Experimental parameters
// for video generation.
type CloudAiLargeModelsVisionGenerateVideoExperiments struct {
	// ConditioningFrames: Conditioning frames for veo experimental models ONLY,
	// not to be confused with keyframes (ID:31) in GenerateVideoRequest.
	ConditioningFrames []*CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame `json:"conditioningFrames,omitempty"`
	// HumanPose: Human pose parameters for Pose Control
	HumanPose *CloudAiLargeModelsVisionHumanPose `json:"humanPose,omitempty"`
	// ModelName: Model names, as defined in: xyz
	ModelName string `json:"modelName,omitempty"`
	// NumDiffusionSteps: Number of diffusion steps
	NumDiffusionSteps int64 `json:"numDiffusionSteps,omitempty"`
	// PromptInputs: Prompt chunks for "ProModel" prompting. If set, the prompt
	// will not be rewritten, and top-level prompt ignored.
	PromptInputs *CloudAiLargeModelsVisionPromptInputs `json:"promptInputs,omitempty"`
	// RequestOriginTag: Optional tag for tracking the source of this request.
	// Allowed values: "colab", "comfyui", "curl", "flowresearch", "vertexstudio".
	// Unrecognized tags are recorded as "unknown" in metrics. Tags do not affect
	// video generation behavior. Up to 16 characters, ASCII alphanumeric, hyphens,
	// and underscores only.
	RequestOriginTag string `json:"requestOriginTag,omitempty"`
	// TruncateInputVideo: If true (default), truncate input videos that exceed the
	// model's maximum frame count by applying a frame_selection_config to
	// __video_file__ inputs. Set to false to preserve the existing fail-fast
	// behavior.
	TruncateInputVideo bool `json:"truncateInputVideo,omitempty"`
	// VideoTransformMaskGcsUri: GCS URI of the grayscale video mask for
	// Differential Diffusion. Maps to sdedit_video_tmax_scale_map
	VideoTransformMaskGcsUri string `json:"videoTransformMaskGcsUri,omitempty"`
	// VideoTransformStrength: SDEdit: Scalar noise level (0.0 to 1.0) Maps to
	// sdedit_tmax
	VideoTransformStrength float64 `json:"videoTransformStrength,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConditioningFrames") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConditioningFrames") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionGenerateVideoExperiments) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionGenerateVideoExperiments
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiLargeModelsVisionGenerateVideoExperiments) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiLargeModelsVisionGenerateVideoExperiments
	var s1 struct {
		VideoTransformStrength gensupport.JSONFloat64 `json:"videoTransformStrength"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.VideoTransformStrength = float64(s1.VideoTransformStrength)
	return nil
}

type CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame struct {
	// FrameNum: The index of the frame, starts with zero and must be a multiple of
	// 8.
	FrameNum int64 `json:"frameNum,omitempty"`
	// Image: The image data for this conditioning frame.
	Image *CloudAiLargeModelsVisionGenerateVideoRequestImage `json:"image,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FrameNum") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FrameNum") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionGenerateVideoExperimentsConditioningFrame
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionGenerateVideoRequestImage: The image bytes or Cloud
// Storage URI to make the prediction on.
type CloudAiLargeModelsVisionGenerateVideoRequestImage struct {
	// BlobId: Blob ID of the image. This is used for storing the large images in
	// the request.
	BlobId string `json:"blobId,omitempty"`
	// BytesBase64Encoded: Base64 encoded bytes string representing the image.
	BytesBase64Encoded string `json:"bytesBase64Encoded,omitempty"`
	GcsUri             string `json:"gcsUri,omitempty"`
	// MimeType: The MIME type of the content of the image. Only the images in
	// below listed MIME types are supported. - image/jpeg - image/png
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlobId") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlobId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionGenerateVideoRequestImage) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionGenerateVideoRequestImage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionGenerateVideoResponse: Generate video response.
type CloudAiLargeModelsVisionGenerateVideoResponse struct {
	// GeneratedSamples: The generates samples.
	GeneratedSamples []*CloudAiLargeModelsVisionMedia `json:"generatedSamples,omitempty"`
	// RaiMediaFilteredCount: Returns if any videos were filtered due to RAI
	// policies.
	RaiMediaFilteredCount int64 `json:"raiMediaFilteredCount,omitempty"`
	// RaiMediaFilteredReasons: Returns rai failure reasons if any.
	RaiMediaFilteredReasons []string `json:"raiMediaFilteredReasons,omitempty"`
	// Videos: List of videos, used to align naming with the external response.
	Videos []*CloudAiLargeModelsVisionGenerateVideoResponseVideo `json:"videos,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GeneratedSamples") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GeneratedSamples") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionGenerateVideoResponse) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionGenerateVideoResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type CloudAiLargeModelsVisionGenerateVideoResponseVideo struct {
	// BytesBase64Encoded: Base64 encoded bytes string representing the video.
	BytesBase64Encoded string `json:"bytesBase64Encoded,omitempty"`
	// ExperimentsMetadata: Optional metadata returned from experimental requests.
	// Likely only includes the rewritten prompt chunks.
	ExperimentsMetadata *CloudAiLargeModelsVisionGenerateVideoExperiments `json:"experimentsMetadata,omitempty"`
	// GcsUri: Cloud Storage URI where the generated video is written.
	GcsUri string `json:"gcsUri,omitempty"`
	// MimeType: The MIME type of the content of the video. - video/mp4
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BytesBase64Encoded") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BytesBase64Encoded") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionGenerateVideoResponseVideo) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionGenerateVideoResponseVideo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type CloudAiLargeModelsVisionHumanPose struct {
	// BodyLandmarksGcsUri: GCS URI of the human pose video to condition video
	// generation.
	BodyLandmarksGcsUri string `json:"bodyLandmarksGcsUri,omitempty"`
	// FaceLandmarksGcsUri: GCS URI of the face landmarks video to condition video
	// generation.
	FaceLandmarksGcsUri string `json:"faceLandmarksGcsUri,omitempty"`
	// PerfMeshGcsUri: GCS URI of the performance mesh to condition video
	// generation.
	PerfMeshGcsUri string `json:"perfMeshGcsUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BodyLandmarksGcsUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BodyLandmarksGcsUri") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionHumanPose) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionHumanPose
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionImage: Image.
type CloudAiLargeModelsVisionImage struct {
	// Encoding: Image encoding, encoded as "image/png" or "image/jpg".
	Encoding string `json:"encoding,omitempty"`
	// GenerationSeed: Generation seed for the sampled image. This parameter is
	// exposed to the user only if one of the following is true: 1. The user
	// specified per-example seeds in the request. 2. The user doesn't specify the
	// generation seed in the request.
	GenerationSeed int64 `json:"generationSeed,omitempty"`
	// Image: Raw bytes.
	Image string `json:"image,omitempty"`
	// ImageRaiScores: RAI scores for generated image.
	ImageRaiScores *CloudAiLargeModelsVisionImageRAIScores `json:"imageRaiScores,omitempty"`
	// ImageSize: Image size. The size of the image. Can be self reported, or
	// computed from the image bytes.
	ImageSize *CloudAiLargeModelsVisionImageImageSize `json:"imageSize,omitempty"`
	// RaiInfo: RAI info for image.
	RaiInfo *CloudAiLargeModelsVisionRaiInfo `json:"raiInfo,omitempty"`
	// SemanticFilterResponse: Semantic filter info for image.
	SemanticFilterResponse *CloudAiLargeModelsVisionSemanticFilterResponse `json:"semanticFilterResponse,omitempty"`
	// Text: Text/Expanded text input for imagen.
	Text string `json:"text,omitempty"`
	// Uri: Path to another storage (typically Google Cloud Storage).
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Encoding") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Encoding") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionImage) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionImage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionImageImageSize: Image size.
type CloudAiLargeModelsVisionImageImageSize struct {
	Channels int64 `json:"channels,omitempty"`
	Height   int64 `json:"height,omitempty"`
	Width    int64 `json:"width,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Channels") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Channels") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionImageImageSize) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionImageImageSize
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionImageRAIScores: RAI scores for generated image
// returned.
type CloudAiLargeModelsVisionImageRAIScores struct {
	// AgileWatermarkDetectionScore: Agile watermark score for image.
	AgileWatermarkDetectionScore float64 `json:"agileWatermarkDetectionScore,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "AgileWatermarkDetectionScore") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgileWatermarkDetectionScore") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionImageRAIScores) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionImageRAIScores
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiLargeModelsVisionImageRAIScores) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiLargeModelsVisionImageRAIScores
	var s1 struct {
		AgileWatermarkDetectionScore gensupport.JSONFloat64 `json:"agileWatermarkDetectionScore"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.AgileWatermarkDetectionScore = float64(s1.AgileWatermarkDetectionScore)
	return nil
}

// CloudAiLargeModelsVisionMedia: Media.
type CloudAiLargeModelsVisionMedia struct {
	// Image: Image.
	Image *CloudAiLargeModelsVisionImage `json:"image,omitempty"`
	// Video: Video
	Video *CloudAiLargeModelsVisionVideo `json:"video,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Image") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionMedia) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionMedia
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type CloudAiLargeModelsVisionNamedBoundingBox struct {
	Classes  []string  `json:"classes,omitempty"`
	Entities []string  `json:"entities,omitempty"`
	Scores   []float64 `json:"scores,omitempty"`
	X1       float64   `json:"x1,omitempty"`
	X2       float64   `json:"x2,omitempty"`
	Y1       float64   `json:"y1,omitempty"`
	Y2       float64   `json:"y2,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Classes") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Classes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionNamedBoundingBox) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionNamedBoundingBox
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiLargeModelsVisionNamedBoundingBox) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiLargeModelsVisionNamedBoundingBox
	var s1 struct {
		Scores []gensupport.JSONFloat64 `json:"scores"`
		X1     gensupport.JSONFloat64   `json:"x1"`
		X2     gensupport.JSONFloat64   `json:"x2"`
		Y1     gensupport.JSONFloat64   `json:"y1"`
		Y2     gensupport.JSONFloat64   `json:"y2"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Scores = make([]float64, len(s1.Scores))
	for i := range s1.Scores {
		s.Scores[i] = float64(s1.Scores[i])
	}
	s.X1 = float64(s1.X1)
	s.X2 = float64(s1.X2)
	s.Y1 = float64(s1.Y1)
	s.Y2 = float64(s1.Y2)
	return nil
}

// CloudAiLargeModelsVisionPromptInputs: "Direct" prompting for Experimental
// Video Generation. These will be sent directly to the LDM without being
// rewritten.
type CloudAiLargeModelsVisionPromptInputs struct {
	// AudioPrompt: Description of audio content in the video, without speech.
	AudioPrompt string `json:"audioPrompt,omitempty"`
	// NegativeAudioPrompt: Negative description of audio content in the video.
	NegativeAudioPrompt string `json:"negativeAudioPrompt,omitempty"`
	// NegativePrompt: Single negative prompt for what not to generate.
	NegativePrompt string `json:"negativePrompt,omitempty"`
	// PromptChunks: 2s, 256 tokens per chunk, 4 total chunks. Required.
	PromptChunks []string `json:"promptChunks,omitempty"`
	// Transcript: Spoken transcript of the video for characters.
	Transcript string `json:"transcript,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AudioPrompt") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AudioPrompt") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionPromptInputs) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionPromptInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionRaiInfo: Next ID: 6
type CloudAiLargeModelsVisionRaiInfo struct {
	// BlockedEntities: List of blocked entities from the blocklist if it is
	// detected.
	BlockedEntities []string `json:"blockedEntities,omitempty"`
	// DetectedLabels: The list of detected labels for different rai categories.
	DetectedLabels []*CloudAiLargeModelsVisionRaiInfoDetectedLabels `json:"detectedLabels,omitempty"`
	// ModelName: The model name used to indexing into the RaiFilterConfig map.
	// Would either be one of imagegeneration@002-006, imagen-3.0-... api endpoint
	// names, or internal names used for mapping to different filter configs
	// (genselfie, ai_watermark) than its api endpoint.
	ModelName string `json:"modelName,omitempty"`
	// RaiCategories: List of rai categories' information to return
	RaiCategories []string `json:"raiCategories,omitempty"`
	// Scores: List of rai scores mapping to the rai categories. Rounded to 1
	// decimal place.
	Scores []float64 `json:"scores,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlockedEntities") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlockedEntities") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionRaiInfo) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionRaiInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiLargeModelsVisionRaiInfo) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiLargeModelsVisionRaiInfo
	var s1 struct {
		Scores []gensupport.JSONFloat64 `json:"scores"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Scores = make([]float64, len(s1.Scores))
	for i := range s1.Scores {
		s.Scores[i] = float64(s1.Scores[i])
	}
	return nil
}

// CloudAiLargeModelsVisionRaiInfoDetectedLabels: Filters returning list of
// deteceted labels, scores, and bounding boxes.
type CloudAiLargeModelsVisionRaiInfoDetectedLabels struct {
	// Entities: The list of detected entities for the rai signal.
	Entities []*CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity `json:"entities,omitempty"`
	// RaiCategory: The RAI category for the deteceted labels.
	RaiCategory string `json:"raiCategory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Entities") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Entities") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionRaiInfoDetectedLabels) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionRaiInfoDetectedLabels
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox: An integer
// bounding box of original pixels of the image for the detected labels.
type CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox struct {
	// X1: The X coordinate of the top-left corner, in pixels.
	X1 int64 `json:"x1,omitempty"`
	// X2: The X coordinate of the bottom-right corner, in pixels.
	X2 int64 `json:"x2,omitempty"`
	// Y1: The Y coordinate of the top-left corner, in pixels.
	Y1 int64 `json:"y1,omitempty"`
	// Y2: The Y coordinate of the bottom-right corner, in pixels.
	Y2 int64 `json:"y2,omitempty"`
	// ForceSendFields is a list of field names (e.g. "X1") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "X1") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity: The properties for a
// detected entity from the rai signal.
type CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity struct {
	// BoundingBox: Bounding box of the label
	BoundingBox *CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox `json:"boundingBox,omitempty"`
	// Description: Description of the label
	Description string `json:"description,omitempty"`
	// IouScore: The intersection ratio between the detection bounding box and the
	// mask.
	IouScore float64 `json:"iouScore,omitempty"`
	// Mid: MID of the label
	Mid string `json:"mid,omitempty"`
	// Score: Confidence score of the label
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity
	var s1 struct {
		IouScore gensupport.JSONFloat64 `json:"iouScore"`
		Score    gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.IouScore = float64(s1.IouScore)
	s.Score = float64(s1.Score)
	return nil
}

type CloudAiLargeModelsVisionSemanticFilterResponse struct {
	// NamedBoundingBoxes: Class labels of the bounding boxes that failed the
	// semantic filtering. Bounding box coordinates.
	NamedBoundingBoxes []*CloudAiLargeModelsVisionNamedBoundingBox `json:"namedBoundingBoxes,omitempty"`
	// PassedSemanticFilter: This response is added when semantic filter config is
	// turned on in EditConfig. It reports if this image is passed semantic filter
	// response. If passed_semantic_filter is false, the bounding box information
	// will be populated for user to check what caused the semantic filter to fail.
	PassedSemanticFilter bool `json:"passedSemanticFilter,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NamedBoundingBoxes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NamedBoundingBoxes") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionSemanticFilterResponse) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionSemanticFilterResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiLargeModelsVisionVideo: Video
type CloudAiLargeModelsVisionVideo struct {
	// EncodedVideo: Base 64 encoded video bytes.
	EncodedVideo string `json:"encodedVideo,omitempty"`
	// Encoding: Video encoding, for example "video/mp4".
	Encoding string `json:"encoding,omitempty"`
	// Text: Text/Expanded text input for Help Me Write.
	Text string `json:"text,omitempty"`
	// Uri: Path to another storage (typically Google Cloud Storage).
	Uri string `json:"uri,omitempty"`
	// Video: Raw bytes.
	Video string `json:"video,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EncodedVideo") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EncodedVideo") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiLargeModelsVisionVideo) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionVideo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudAiPlatformCommonCreatePipelineJobApiErrorDetail: Create API error
// message for Vertex Pipeline.
type CloudAiPlatformCommonCreatePipelineJobApiErrorDetail struct {
	// ErrorCause: The error root cause returned by CreatePipelineJob API.
	//
	// Possible values:
	//   "ERROR_CAUSE_UNSPECIFIED" - Should never be used.
	//   "INVALID_PIPELINE_SPEC_FORMAT" - IR Pipeline Spec can not been parsed to
	// yaml or json format.
	//   "INVALID_PIPELINE_SPEC" - A pipeline spec is invalid.
	//   "INVALID_DEPLOYMENT_CONFIG" - A deployment config is invalid.
	//   "INVALID_DEPLOYMENT_SPEC" - A deployment spec is invalid.
	//   "INVALID_INSTANCE_SCHEMA" - An instance schema is invalid.
	//   "INVALID_CUSTOM_JOB" - A custom job is invalid.
	//   "INVALID_CONTAINER_SPEC" - A container spec is invalid.
	//   "INVALID_NOTIFICATION_EMAIL_SETUP" - Notification email setup is invalid.
	//   "INVALID_SERVICE_ACCOUNT_SETUP" - Service account setup is invalid.
	//   "INVALID_KMS_SETUP" - KMS setup is invalid.
	//   "INVALID_NETWORK_SETUP" - Network setup is invalid.
	//   "INVALID_PIPELINE_TASK_SPEC" - Task spec is invalid.
	//   "INVALID_PIPELINE_TASK_ARTIFACT" - Task artifact is invalid.
	//   "INVALID_IMPORTER_SPEC" - Importer spec is invalid.
	//   "INVALID_RESOLVER_SPEC" - Resolver spec is invalid.
	//   "INVALID_RUNTIME_PARAMETERS" - Runtime Parameters are invalid.
	//   "CLOUD_API_NOT_ENABLED" - Cloud API not enabled.
	//   "INVALID_GCS_INPUT_URI" - Invalid Cloud Storage input uri
	//   "INVALID_GCS_OUTPUT_URI" - Invalid Cloud Storage output uri
	//   "INVALID_COMPONENT_SPEC" - Component spec of pipeline is invalid.
	//   "INVALID_DAG_OUTPUTS_SPEC" - DagOutputsSpec is invalid.
	//   "INVALID_DAG_SPEC" - DagSpec is invalid.
	//   "INSUFFICIENT_QUOTA" - Project does not have enough quota.
	//   "INTERNAL" - An internal error with unknown cause.
	ErrorCause string `json:"errorCause,omitempty"`
	// PublicMessage: Public messages contains actionable items for the error
	// cause.
	PublicMessage string `json:"publicMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ErrorCause") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ErrorCause") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAiPlatformCommonCreatePipelineJobApiErrorDetail) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiPlatformCommonCreatePipelineJobApiErrorDetail
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleApiHttpBody: Message that represents an arbitrary HTTP body. It should
// only be used for payload formats that can't be represented as JSON, such as
// raw binary or an HTML page. This message can be used both in streaming and
// non-streaming API methods in the request as well as the response. It can be
// used as a top-level request field, which is convenient if one wants to
// extract parameters from either the URL or HTTP template into the request
// fields and also want access to the raw HTTP body. Example: message
// GetResourceRequest { // A unique request id. string request_id = 1; // The
// raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; }
// service ResourceService { rpc GetResource(GetResourceRequest) returns
// (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns
// (google.protobuf.Empty); } Example with streaming methods: service
// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream
// google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns
// (stream google.api.HttpBody); } Use of this type only changes how the
// request and response bodies are handled, all other features will continue to
// work unchanged.
type GoogleApiHttpBody struct {
	// ContentType: The HTTP Content-Type header value specifying the content type
	// of the body.
	ContentType string `json:"contentType,omitempty"`
	// Data: The HTTP request/response body as raw binary.
	Data string `json:"data,omitempty"`
	// Extensions: Application specific response metadata. Must be set in the first
	// response for streaming APIs.
	Extensions []googleapi.RawMessage `json:"extensions,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ContentType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleApiHttpBody) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleApiHttpBody
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ActiveLearningConfig: 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 GoogleCloudAiplatformV1ActiveLearningConfig struct {
	// MaxDataItemCount: Max number of human labeled DataItems.
	MaxDataItemCount int64 `json:"maxDataItemCount,omitempty,string"`
	// MaxDataItemPercentage: Max percent of total DataItems for human labeling.
	MaxDataItemPercentage int64 `json:"maxDataItemPercentage,omitempty"`
	// SampleConfig: Active learning data sampling config. For every active
	// learning labeling iteration, it will select a batch of data based on the
	// sampling strategy.
	SampleConfig *GoogleCloudAiplatformV1SampleConfig `json:"sampleConfig,omitempty"`
	// TrainingConfig: 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 *GoogleCloudAiplatformV1TrainingConfig `json:"trainingConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxDataItemCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxDataItemCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ActiveLearningConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ActiveLearningConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest: Request
// message for MetadataService.AddContextArtifactsAndExecutions.
type GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest struct {
	// Artifacts: The resource names of the Artifacts to attribute to the Context.
	// Format:
	// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artif
	// acts/{artifact}`
	Artifacts []string `json:"artifacts,omitempty"`
	// Executions: The resource names of the Executions to associate with the
	// Context. Format:
	// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/execu
	// tions/{execution}`
	Executions []string `json:"executions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Artifacts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Artifacts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse: Response
// message for MetadataService.AddContextArtifactsAndExecutions.
type GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1AddContextChildrenRequest: Request message for
// MetadataService.AddContextChildren.
type GoogleCloudAiplatformV1AddContextChildrenRequest struct {
	// ChildContexts: The resource names of the child Contexts.
	ChildContexts []string `json:"childContexts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ChildContexts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ChildContexts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AddContextChildrenRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddContextChildrenRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AddContextChildrenResponse: Response message for
// MetadataService.AddContextChildren.
type GoogleCloudAiplatformV1AddContextChildrenResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1AddExecutionEventsRequest: Request message for
// MetadataService.AddExecutionEvents.
type GoogleCloudAiplatformV1AddExecutionEventsRequest struct {
	// Events: The Events to create and add.
	Events []*GoogleCloudAiplatformV1Event `json:"events,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Events") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Events") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AddExecutionEventsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddExecutionEventsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AddExecutionEventsResponse: Response message for
// MetadataService.AddExecutionEvents.
type GoogleCloudAiplatformV1AddExecutionEventsResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1AddTrialMeasurementRequest: Request message for
// VizierService.AddTrialMeasurement.
type GoogleCloudAiplatformV1AddTrialMeasurementRequest struct {
	// Measurement: Required. The measurement to be added to a Trial.
	Measurement *GoogleCloudAiplatformV1Measurement `json:"measurement,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Measurement") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Measurement") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AddTrialMeasurementRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddTrialMeasurementRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AggregationOutput: The aggregation result for the
// entire dataset and all metrics.
type GoogleCloudAiplatformV1AggregationOutput struct {
	// AggregationResults: One AggregationResult per metric.
	AggregationResults []*GoogleCloudAiplatformV1AggregationResult `json:"aggregationResults,omitempty"`
	// Dataset: The dataset used for evaluation & aggregation.
	Dataset *GoogleCloudAiplatformV1EvaluationDataset `json:"dataset,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AggregationResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AggregationResults") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AggregationOutput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AggregationOutput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AggregationResult: The aggregation result for a
// single metric.
type GoogleCloudAiplatformV1AggregationResult struct {
	// AggregationMetric: Aggregation metric.
	//
	// Possible values:
	//   "AGGREGATION_METRIC_UNSPECIFIED" - Unspecified aggregation metric.
	//   "AVERAGE" - Average aggregation metric. Not supported for Pairwise metric.
	//   "MODE" - Mode aggregation metric.
	//   "STANDARD_DEVIATION" - Standard deviation aggregation metric. Not
	// supported for pairwise metric.
	//   "VARIANCE" - Variance aggregation metric. Not supported for pairwise
	// metric.
	//   "MINIMUM" - Minimum aggregation metric. Not supported for pairwise metric.
	//   "MAXIMUM" - Maximum aggregation metric. Not supported for pairwise metric.
	//   "MEDIAN" - Median aggregation metric. Not supported for pairwise metric.
	//   "PERCENTILE_P90" - 90th percentile aggregation metric. Not supported for
	// pairwise metric.
	//   "PERCENTILE_P95" - 95th percentile aggregation metric. Not supported for
	// pairwise metric.
	//   "PERCENTILE_P99" - 99th percentile aggregation metric. Not supported for
	// pairwise metric.
	AggregationMetric string `json:"aggregationMetric,omitempty"`
	// BleuMetricValue: Results for bleu metric.
	BleuMetricValue *GoogleCloudAiplatformV1BleuMetricValue `json:"bleuMetricValue,omitempty"`
	// CustomCodeExecutionResult: Result for code execution metric.
	CustomCodeExecutionResult *GoogleCloudAiplatformV1CustomCodeExecutionResult `json:"customCodeExecutionResult,omitempty"`
	// ExactMatchMetricValue: Results for exact match metric.
	ExactMatchMetricValue *GoogleCloudAiplatformV1ExactMatchMetricValue `json:"exactMatchMetricValue,omitempty"`
	// PairwiseMetricResult: Result for pairwise metric.
	PairwiseMetricResult *GoogleCloudAiplatformV1PairwiseMetricResult `json:"pairwiseMetricResult,omitempty"`
	// PointwiseMetricResult: Result for pointwise metric.
	PointwiseMetricResult *GoogleCloudAiplatformV1PointwiseMetricResult `json:"pointwiseMetricResult,omitempty"`
	// RougeMetricValue: Results for rouge metric.
	RougeMetricValue *GoogleCloudAiplatformV1RougeMetricValue `json:"rougeMetricValue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AggregationMetric") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AggregationMetric") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AggregationResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AggregationResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Annotation: Used to assign specific AnnotationSpec to
// a particular area of a DataItem or the whole part of the DataItem.
type GoogleCloudAiplatformV1Annotation struct {
	// AnnotationSource: Output only. The source of the Annotation.
	AnnotationSource *GoogleCloudAiplatformV1UserActionReference `json:"annotationSource,omitempty"`
	// CreateTime: Output only. Timestamp when this Annotation was created.
	CreateTime string `json:"createTime,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 title.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Output only. Resource name of the Annotation.
	Name string `json:"name,omitempty"`
	// Payload: Required. The schema of the payload can be found in payload_schema.
	Payload interface{} `json:"payload,omitempty"`
	// PayloadSchemaUri: Required. Google Cloud Storage URI points to a YAML file
	// describing 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.
	PayloadSchemaUri string `json:"payloadSchemaUri,omitempty"`
	// UpdateTime: Output only. Timestamp when this Annotation was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Annotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Annotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AnnotationSpec: Identifies a concept with which
// DataItems may be annotated with.
type GoogleCloudAiplatformV1AnnotationSpec struct {
	// CreateTime: Output only. Timestamp when this AnnotationSpec was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Name: Output only. Resource name of the AnnotationSpec.
	Name string `json:"name,omitempty"`
	// UpdateTime: Output only. Timestamp when AnnotationSpec was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AnnotationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AnnotationSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ApiAuth: The generic reusable api auth config.
// Deprecated. Please use AuthConfig
// (google/cloud/aiplatform/master/auth.proto) instead.
type GoogleCloudAiplatformV1ApiAuth struct {
	// ApiKeyConfig: The API secret.
	ApiKeyConfig *GoogleCloudAiplatformV1ApiAuthApiKeyConfig `json:"apiKeyConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiKeyConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiKeyConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ApiAuth) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ApiAuth
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ApiAuthApiKeyConfig: The API secret.
type GoogleCloudAiplatformV1ApiAuthApiKeyConfig struct {
	// ApiKeySecretVersion: Required. The SecretManager secret version resource
	// name storing API key. e.g.
	// projects/{project}/secrets/{secret}/versions/{version}
	ApiKeySecretVersion string `json:"apiKeySecretVersion,omitempty"`
	// ApiKeyString: The API key string. Either this or `api_key_secret_version`
	// must be set.
	ApiKeyString string `json:"apiKeyString,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiKeySecretVersion") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiKeySecretVersion") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ApiAuthApiKeyConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ApiAuthApiKeyConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AppendEventResponse: Response message for
// SessionService.AppendEvent.
type GoogleCloudAiplatformV1AppendEventResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1Artifact: Instance of a general artifact.
type GoogleCloudAiplatformV1Artifact struct {
	// CreateTime: Output only. Timestamp when this Artifact was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of the Artifact
	Description string `json:"description,omitempty"`
	// DisplayName: User provided display name of the Artifact. May be up to 128
	// Unicode characters.
	DisplayName string `json:"displayName,omitempty"`
	// Etag: An eTag used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Metadata: 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 googleapi.RawMessage `json:"metadata,omitempty"`
	// Name: Output only. The resource name of the Artifact.
	Name string `json:"name,omitempty"`
	// SchemaTitle: 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 `json:"schemaTitle,omitempty"`
	// SchemaVersion: 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 `json:"schemaVersion,omitempty"`
	// State: 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.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Unspecified state for the Artifact.
	//   "PENDING" - A state used by systems like Vertex AI Pipelines to indicate
	// that the underlying data item represented by this Artifact is being created.
	//   "LIVE" - A state indicating that the Artifact should exist, unless
	// something external to the system deletes it.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Timestamp when this Artifact was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// Uri: The uniform resource identifier of the artifact file. May be empty if
	// there is no actual artifact file.
	Uri string `json:"uri,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Artifact) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Artifact
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AskContextsRequest: Agentic Retrieval Ask API for
// RAG. Request message for VertexRagService.AskContexts.
type GoogleCloudAiplatformV1AskContextsRequest struct {
	// Query: Required. Single RAG retrieve query.
	Query *GoogleCloudAiplatformV1RagQuery `json:"query,omitempty"`
	// Tools: Optional. The tools to use for AskContexts.
	Tools []*GoogleCloudAiplatformV1Tool `json:"tools,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Query") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Query") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AskContextsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AskContextsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AskContextsResponse: Response message for
// VertexRagService.AskContexts.
type GoogleCloudAiplatformV1AskContextsResponse struct {
	// Contexts: The contexts of the query.
	Contexts *GoogleCloudAiplatformV1RagContexts `json:"contexts,omitempty"`
	// Response: The Retrieval Response.
	Response string `json:"response,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Contexts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contexts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AskContextsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AskContextsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata: Metadata
// information for NotebookService.AssignNotebookRuntime.
type GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ProgressMessage: A human-readable message that shows the intermediate
	// progress details of NotebookRuntime.
	ProgressMessage string `json:"progressMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AssignNotebookRuntimeRequest: Request message for
// NotebookService.AssignNotebookRuntime.
type GoogleCloudAiplatformV1AssignNotebookRuntimeRequest struct {
	// NotebookRuntime: Required. Provide runtime specific information (e.g.
	// runtime owner, notebook id) used for NotebookRuntime assignment.
	NotebookRuntime *GoogleCloudAiplatformV1NotebookRuntime `json:"notebookRuntime,omitempty"`
	// NotebookRuntimeId: Optional. User specified ID for the notebook runtime.
	NotebookRuntimeId string `json:"notebookRuntimeId,omitempty"`
	// NotebookRuntimeTemplate: Required. The resource name of the
	// NotebookRuntimeTemplate based on which a NotebookRuntime will be assigned
	// (reuse or create a new one).
	NotebookRuntimeTemplate string `json:"notebookRuntimeTemplate,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NotebookRuntime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NotebookRuntime") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AssignNotebookRuntimeRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AssignNotebookRuntimeRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest: Request message for
// ReasoningEngineExecutionService.AsyncQueryReasoningEngine.
type GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest struct {
	// InputGcsUri: Optional. Input Cloud Storage URI for the Async query.
	InputGcsUri string `json:"inputGcsUri,omitempty"`
	// OutputGcsUri: Optional. Output Cloud Storage URI for the Async query.
	OutputGcsUri string `json:"outputGcsUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InputGcsUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InputGcsUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AsyncRetrieveContextsRequest: Request message for
// VertexRagService.AsyncRetrieveContexts.
type GoogleCloudAiplatformV1AsyncRetrieveContextsRequest struct {
	// Query: Required. Single RAG retrieve query.
	Query *GoogleCloudAiplatformV1RagQuery `json:"query,omitempty"`
	// Tools: Optional. The tools to use for AskContexts.
	Tools []*GoogleCloudAiplatformV1Tool `json:"tools,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Query") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Query") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AsyncRetrieveContextsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AsyncRetrieveContextsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Attribution: Attribution that explains a particular
// prediction output.
type GoogleCloudAiplatformV1Attribution struct {
	// ApproximationError: Output only. Error of feature_attributions caused by
	// approximation used in the explanation method. Lower value means more precise
	// attributions. * For Sampled Shapley attribution, increasing path_count might
	// reduce the error. * For Integrated Gradients attribution, increasing
	// step_count might reduce the error. * For XRAI attribution, increasing
	// step_count might reduce the error. See this introduction
	// (/vertex-ai/docs/explainable-ai/overview) for more information.
	ApproximationError float64 `json:"approximationError,omitempty"`
	// BaselineOutputValue: Output only. Model predicted output if the input
	// instance is constructed from the baselines of all the features defined in
	// ExplanationMetadata.inputs. The field name of the output is determined by
	// the key in ExplanationMetadata.outputs. If the Model's predicted output has
	// multiple dimensions (rank > 1), this is the value in the output located by
	// output_index. If there are multiple baselines, their output values are
	// averaged.
	BaselineOutputValue float64 `json:"baselineOutputValue,omitempty"`
	// FeatureAttributions: Output only. Attributions of each explained feature.
	// Features are extracted from the prediction instances according to
	// explanation metadata for inputs. The value is a struct, whose keys are the
	// name of the feature. The values are how much the feature in the instance
	// 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. * If the feature is an array of
	// scalar values, the attribution value is an array. * If the feature is a
	// struct, the attribution value is a struct. 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 field, pointed to by the
	// ExplanationSpec field of the Endpoint.deployed_models object, points to the
	// schema file that describes the features and their attribution values (if it
	// is populated).
	FeatureAttributions interface{} `json:"featureAttributions,omitempty"`
	// InstanceOutputValue: Output only. Model predicted output on the
	// corresponding explanation instance. The field name of the output is
	// determined by the key in ExplanationMetadata.outputs. If the Model predicted
	// output has multiple dimensions, this is the value in the output located by
	// output_index.
	InstanceOutputValue float64 `json:"instanceOutputValue,omitempty"`
	// OutputDisplayName: Output only. The display name of the output identified by
	// 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 `json:"outputDisplayName,omitempty"`
	// OutputIndex: 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 []int64 `json:"outputIndex,omitempty"`
	// OutputName: Output only. Name of the explain output. Specified as the key in
	// ExplanationMetadata.outputs.
	OutputName string `json:"outputName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApproximationError") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApproximationError") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Attribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Attribution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Attribution) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Attribution
	var s1 struct {
		ApproximationError  gensupport.JSONFloat64 `json:"approximationError"`
		BaselineOutputValue gensupport.JSONFloat64 `json:"baselineOutputValue"`
		InstanceOutputValue gensupport.JSONFloat64 `json:"instanceOutputValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ApproximationError = float64(s1.ApproximationError)
	s.BaselineOutputValue = float64(s1.BaselineOutputValue)
	s.InstanceOutputValue = float64(s1.InstanceOutputValue)
	return nil
}

// GoogleCloudAiplatformV1AugmentPromptRequest: Request message for
// AugmentPrompt.
type GoogleCloudAiplatformV1AugmentPromptRequest struct {
	// Contents: Optional. Input content to augment, only text format is supported
	// for now.
	Contents []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// Model: Optional. Metadata of the backend deployed model.
	Model *GoogleCloudAiplatformV1AugmentPromptRequestModel `json:"model,omitempty"`
	// VertexRagStore: Optional. Retrieves contexts from the Vertex RagStore.
	VertexRagStore *GoogleCloudAiplatformV1VertexRagStore `json:"vertexRagStore,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AugmentPromptRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AugmentPromptRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AugmentPromptRequestModel: Metadata of the backend
// deployed model.
type GoogleCloudAiplatformV1AugmentPromptRequestModel struct {
	// Model: Optional. The model that the user will send the augmented prompt for
	// content generation.
	Model string `json:"model,omitempty"`
	// ModelVersion: Optional. The model version of the backend deployed model.
	ModelVersion string `json:"modelVersion,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Model") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AugmentPromptRequestModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AugmentPromptRequestModel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AugmentPromptResponse: Response message for
// AugmentPrompt.
type GoogleCloudAiplatformV1AugmentPromptResponse struct {
	// AugmentedPrompt: Augmented prompt, only text format is supported for now.
	AugmentedPrompt []*GoogleCloudAiplatformV1Content `json:"augmentedPrompt,omitempty"`
	// Facts: Retrieved facts from RAG data sources.
	Facts []*GoogleCloudAiplatformV1Fact `json:"facts,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AugmentedPrompt") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AugmentedPrompt") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AugmentPromptResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AugmentPromptResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AuthConfig: Auth configuration to run the extension.
type GoogleCloudAiplatformV1AuthConfig struct {
	// ApiKeyConfig: Config for API key auth.
	ApiKeyConfig *GoogleCloudAiplatformV1AuthConfigApiKeyConfig `json:"apiKeyConfig,omitempty"`
	// AuthType: Type of auth scheme.
	//
	// Possible values:
	//   "AUTH_TYPE_UNSPECIFIED"
	//   "NO_AUTH" - No Auth.
	//   "API_KEY_AUTH" - API Key Auth.
	//   "HTTP_BASIC_AUTH" - HTTP Basic Auth.
	//   "GOOGLE_SERVICE_ACCOUNT_AUTH" - Google Service Account Auth.
	//   "OAUTH" - OAuth auth.
	//   "OIDC_AUTH" - OpenID Connect (OIDC) Auth.
	AuthType string `json:"authType,omitempty"`
	// GoogleServiceAccountConfig: Config for Google Service Account auth.
	GoogleServiceAccountConfig *GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig `json:"googleServiceAccountConfig,omitempty"`
	// HttpBasicAuthConfig: Config for HTTP Basic auth.
	HttpBasicAuthConfig *GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig `json:"httpBasicAuthConfig,omitempty"`
	// OauthConfig: Config for user oauth.
	OauthConfig *GoogleCloudAiplatformV1AuthConfigOauthConfig `json:"oauthConfig,omitempty"`
	// OidcConfig: Config for user OIDC auth.
	OidcConfig *GoogleCloudAiplatformV1AuthConfigOidcConfig `json:"oidcConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiKeyConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiKeyConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AuthConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AuthConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AuthConfigApiKeyConfig: Config for authentication
// with API key.
type GoogleCloudAiplatformV1AuthConfigApiKeyConfig struct {
	// ApiKeySecret: Optional. The name of the SecretManager secret version
	// resource storing the API key. Format:
	// `projects/{project}/secrets/{secrete}/versions/{version}` - If both
	// `api_key_secret` and `api_key_string` are specified, this field takes
	// precedence over `api_key_string`. - If specified, the
	// `secretmanager.versions.access` permission should be granted to Vertex AI
	// Extension Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
	// on the specified resource.
	ApiKeySecret string `json:"apiKeySecret,omitempty"`
	// ApiKeyString: Optional. The API key to be used in the request directly.
	ApiKeyString string `json:"apiKeyString,omitempty"`
	// HttpElementLocation: Optional. The location of the API key.
	//
	// Possible values:
	//   "HTTP_IN_UNSPECIFIED"
	//   "HTTP_IN_QUERY" - Element is in the HTTP request query.
	//   "HTTP_IN_HEADER" - Element is in the HTTP request header.
	//   "HTTP_IN_PATH" - Element is in the HTTP request path.
	//   "HTTP_IN_BODY" - Element is in the HTTP request body.
	//   "HTTP_IN_COOKIE" - Element is in the HTTP request cookie.
	HttpElementLocation string `json:"httpElementLocation,omitempty"`
	// Name: Optional. The parameter name of the API key. E.g. If the API request
	// is "https://example.com/act?api_key=", "api_key" would be the parameter
	// name.
	Name string `json:"name,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiKeySecret") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiKeySecret") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AuthConfigApiKeyConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AuthConfigApiKeyConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig: Config for
// Google Service Account Authentication.
type GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig struct {
	// ServiceAccount: Optional. The service account that the extension execution
	// service runs as. - If the service account is specified, the
	// `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex
	// AI Extension Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
	// on the specified service account. - If not specified, the Vertex AI
	// Extension Service Agent will be used to execute the Extension.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ServiceAccount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ServiceAccount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AuthConfigGoogleServiceAccountConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig: Config for HTTP Basic
// Authentication.
type GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig struct {
	// CredentialSecret: Required. The name of the SecretManager secret version
	// resource storing the base64 encoded credentials. Format:
	// `projects/{project}/secrets/{secrete}/versions/{version}` - If specified,
	// the `secretmanager.versions.access` permission should be granted to Vertex
	// AI Extension Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
	// on the specified resource.
	CredentialSecret string `json:"credentialSecret,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CredentialSecret") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CredentialSecret") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AuthConfigHttpBasicAuthConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AuthConfigOauthConfig: Config for user oauth.
type GoogleCloudAiplatformV1AuthConfigOauthConfig struct {
	// AccessToken: Access token for extension endpoint. Only used to propagate
	// token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time.
	AccessToken string `json:"accessToken,omitempty"`
	// ServiceAccount: The service account used to generate access tokens for
	// executing the Extension. - If the service account is specified, the
	// `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex
	// AI Extension Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
	// on the provided service account.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccessToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccessToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AuthConfigOauthConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AuthConfigOauthConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AuthConfigOidcConfig: Config for user OIDC auth.
type GoogleCloudAiplatformV1AuthConfigOidcConfig struct {
	// IdToken: OpenID Connect formatted ID token for extension endpoint. Only used
	// to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at
	// request time.
	IdToken string `json:"idToken,omitempty"`
	// ServiceAccount: The service account used to generate an OpenID Connect
	// (OIDC)-compatible JWT token signed by the Google OIDC Provider
	// (accounts.google.com) for extension endpoint
	// (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc).
	// - The audience for the token will be set to the URL in the server url
	// defined in the OpenApi spec. - If the service account is provided, the
	// service account should grant `iam.serviceAccounts.getOpenIdToken` permission
	// to Vertex AI Extension Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IdToken") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IdToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AuthConfigOidcConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AuthConfigOidcConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AutomaticResources: 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 GoogleCloudAiplatformV1AutomaticResources struct {
	// MaxReplicaCount: Immutable. The maximum number of replicas that 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 to that many replicas is guaranteed (barring service
	// outages). If traffic 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 int64 `json:"maxReplicaCount,omitempty"`
	// MinReplicaCount: Immutable. The minimum number of replicas that will be
	// always deployed on. If traffic against it increases, it may dynamically be
	// deployed onto more replicas up to 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 int64 `json:"minReplicaCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxReplicaCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxReplicaCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AutomaticResources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AutomaticResources
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AutoraterConfig: The configs for autorater. This is
// applicable to both EvaluateInstances and EvaluateDataset.
type GoogleCloudAiplatformV1AutoraterConfig struct {
	// AutoraterModel: Optional. The fully qualified name of the publisher model or
	// tuned autorater endpoint to use. Publisher model format:
	// `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model
	// endpoint format:
	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
	AutoraterModel string `json:"autoraterModel,omitempty"`
	// FlipEnabled: Optional. Default is true. Whether to flip the candidate and
	// baseline responses. This is only applicable to the pairwise metric. If
	// enabled, also provide PairwiseMetricSpec.candidate_response_field_name and
	// PairwiseMetricSpec.baseline_response_field_name. When rendering
	// PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields
	// will be flipped for half of the samples to reduce bias.
	FlipEnabled bool `json:"flipEnabled,omitempty"`
	// GenerationConfig: Optional. Configuration options for model generation and
	// outputs.
	GenerationConfig *GoogleCloudAiplatformV1GenerationConfig `json:"generationConfig,omitempty"`
	// SamplingCount: Optional. Number of samples for each instance in the dataset.
	// If not specified, the default is 4. Minimum value is 1, maximum value is 32.
	SamplingCount int64 `json:"samplingCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoraterModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoraterModel") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AutoraterConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AutoraterConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AutoscalingMetricSpec: 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 GoogleCloudAiplatformV1AutoscalingMetricSpec struct {
	// MetricName: 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` *
	// `aiplatform.googleapis.com/prediction/online/request_count` *
	// `pubsub.googleapis.com/subscription/num_undelivered_messages` *
	// `prometheus.googleapis.com/vertex_dcgm_fi_dev_gpu_util` *
	// `prometheus.googleapis.com/vertex_vllm_gpu_cache_usage_perc` *
	// `prometheus.googleapis.com/vertex_vllm_num_requests_waiting`
	MetricName string `json:"metricName,omitempty"`
	// Target: 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 int64 `json:"target,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MetricName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetricName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AutoscalingMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AutoscalingMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1AvroSource: The storage details for Avro input
// content.
type GoogleCloudAiplatformV1AvroSource struct {
	// GcsSource: Required. Google Cloud Storage location.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsSource") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1AvroSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AvroSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest: Request message for
// PipelineService.BatchCancelPipelineJobs.
type GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest struct {
	// Names: 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 `json:"names,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Names") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Names") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata: Details of
// operations that perform batch create Features.
type GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata struct {
	// GenericMetadata: Operation metadata for Feature.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCreateFeaturesRequest: Request message for
// FeaturestoreService.BatchCreateFeatures. Request message for
// FeatureRegistryService.BatchCreateFeatures.
type GoogleCloudAiplatformV1BatchCreateFeaturesRequest struct {
	// Requests: Required. The request message specifying the Features to create.
	// All Features must be created under the same parent EntityType /
	// FeatureGroup. 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 []*GoogleCloudAiplatformV1CreateFeatureRequest `json:"requests,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Requests") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Requests") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCreateFeaturesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateFeaturesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCreateFeaturesResponse: Response message for
// FeaturestoreService.BatchCreateFeatures.
type GoogleCloudAiplatformV1BatchCreateFeaturesResponse struct {
	// Features: The Features created.
	Features []*GoogleCloudAiplatformV1Feature `json:"features,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Features") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Features") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCreateFeaturesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateFeaturesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest: Request message
// for TensorboardService.BatchCreateTensorboardRuns.
type GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest struct {
	// Requests: Required. The request message specifying the TensorboardRuns to
	// create. A maximum of 1000 TensorboardRuns can be created in a batch.
	Requests []*GoogleCloudAiplatformV1CreateTensorboardRunRequest `json:"requests,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Requests") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Requests") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse: Response message
// for TensorboardService.BatchCreateTensorboardRuns.
type GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse struct {
	// TensorboardRuns: The created TensorboardRuns.
	TensorboardRuns []*GoogleCloudAiplatformV1TensorboardRun `json:"tensorboardRuns,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "TensorboardRuns") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TensorboardRuns") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest: Request
// message for TensorboardService.BatchCreateTensorboardTimeSeries.
type GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest struct {
	// Requests: Required. The request message specifying the TensorboardTimeSeries
	// to create. A maximum of 1000 TensorboardTimeSeries can be created in a
	// batch.
	Requests []*GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest `json:"requests,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Requests") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Requests") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse: Response
// message for TensorboardService.BatchCreateTensorboardTimeSeries.
type GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse struct {
	// TensorboardTimeSeries: The created TensorboardTimeSeries.
	TensorboardTimeSeries []*GoogleCloudAiplatformV1TensorboardTimeSeries `json:"tensorboardTimeSeries,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "TensorboardTimeSeries") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TensorboardTimeSeries") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchDedicatedResources: A description of resources
// that are used for performing batch operations, are dedicated to a Model, and
// need manual configuration.
type GoogleCloudAiplatformV1BatchDedicatedResources struct {
	// MachineSpec: Required. Immutable. The specification of a single machine.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// MaxReplicaCount: Immutable. The maximum number of machine replicas the batch
	// operation may be scaled to. The default value is 10.
	MaxReplicaCount int64 `json:"maxReplicaCount,omitempty"`
	// StartingReplicaCount: 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
	StartingReplicaCount int64 `json:"startingReplicaCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MachineSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MachineSpec") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchDedicatedResources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchDedicatedResources
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest: Request message for
// PipelineService.BatchDeletePipelineJobs.
type GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest struct {
	// Names: 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 `json:"names,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Names") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Names") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest: Request
// message for ModelService.BatchImportEvaluatedAnnotations
type GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest struct {
	// EvaluatedAnnotations: Required. Evaluated annotations resource to be
	// imported.
	EvaluatedAnnotations []*GoogleCloudAiplatformV1EvaluatedAnnotation `json:"evaluatedAnnotations,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EvaluatedAnnotations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluatedAnnotations") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse: Response
// message for ModelService.BatchImportEvaluatedAnnotations
type GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse struct {
	// ImportedEvaluatedAnnotationsCount: Output only. Number of
	// EvaluatedAnnotations imported.
	ImportedEvaluatedAnnotationsCount int64 `json:"importedEvaluatedAnnotationsCount,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "ImportedEvaluatedAnnotationsCount") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "ImportedEvaluatedAnnotationsCount") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest: Request
// message for ModelService.BatchImportModelEvaluationSlices
type GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest struct {
	// ModelEvaluationSlices: Required. Model evaluation slice resource to be
	// imported.
	ModelEvaluationSlices []*GoogleCloudAiplatformV1ModelEvaluationSlice `json:"modelEvaluationSlices,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelEvaluationSlices") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelEvaluationSlices") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse: Response
// message for ModelService.BatchImportModelEvaluationSlices
type GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse struct {
	// ImportedModelEvaluationSlices: Output only. List of imported
	// ModelEvaluationSlice.name.
	ImportedModelEvaluationSlices []string `json:"importedModelEvaluationSlices,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "ImportedModelEvaluationSlices") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImportedModelEvaluationSlices")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata: Runtime
// operation information for MigrationService.BatchMigrateResources.
type GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// PartialResults: Partial results that reflect the latest migration operation
	// progress.
	PartialResults []*GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult `json:"partialResults,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult:
// Represents a partial result in batch migration operation for one
// MigrateResourceRequest.
type GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult struct {
	// Dataset: Migrated dataset resource name.
	Dataset string `json:"dataset,omitempty"`
	// Error: The error result of the migration request in case of failure.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Model: Migrated model resource name.
	Model string `json:"model,omitempty"`
	// Request: It's the same as the value in
	// BatchMigrateResourcesRequest.migrate_resource_requests.
	Request *GoogleCloudAiplatformV1MigrateResourceRequest `json:"request,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dataset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchMigrateResourcesRequest: Request message for
// MigrationService.BatchMigrateResources.
type GoogleCloudAiplatformV1BatchMigrateResourcesRequest struct {
	// MigrateResourceRequests: 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 []*GoogleCloudAiplatformV1MigrateResourceRequest `json:"migrateResourceRequests,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MigrateResourceRequests") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MigrateResourceRequests") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchMigrateResourcesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchMigrateResourcesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchMigrateResourcesResponse: Response message for
// MigrationService.BatchMigrateResources.
type GoogleCloudAiplatformV1BatchMigrateResourcesResponse struct {
	// MigrateResourceResponses: Successfully migrated resources.
	MigrateResourceResponses []*GoogleCloudAiplatformV1MigrateResourceResponse `json:"migrateResourceResponses,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MigrateResourceResponses")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MigrateResourceResponses") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchMigrateResourcesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchMigrateResourcesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchPredictionJob: A job that uses a Model to
// produce predictions on multiple input instances. If predictions for
// significant portion of the instances fail, the job may finish without
// attempting predictions for all remaining instances.
type GoogleCloudAiplatformV1BatchPredictionJob struct {
	// CompletionStats: Output only. Statistics on completed and failed prediction
	// instances.
	CompletionStats *GoogleCloudAiplatformV1CompletionStats `json:"completionStats,omitempty"`
	// CreateTime: Output only. Time when the BatchPredictionJob was created.
	CreateTime string `json:"createTime,omitempty"`
	// DedicatedResources: The config of resources used by the Model during the
	// batch prediction. If the Model supports 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 *GoogleCloudAiplatformV1BatchDedicatedResources `json:"dedicatedResources,omitempty"`
	// DisableContainerLogging: 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 `json:"disableContainerLogging,omitempty"`
	// DisplayName: Required. The user-defined name of this BatchPredictionJob.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EndTime: Output only. Time when the BatchPredictionJob entered any of the
	// following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
	// `JOB_STATE_CANCELLED`.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. Only populated when the job's state is JOB_STATE_FAILED
	// or JOB_STATE_CANCELLED.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// ExplanationSpec: Explanation configuration for this BatchPredictionJob. Can
	// be specified only if generate_explanation is set to `true`. This value
	// overrides the value of Model.explanation_spec. All fields of
	// explanation_spec are optional in the request. If a field of the
	// explanation_spec object is not populated, the corresponding field of the
	// Model.explanation_spec object is inherited.
	ExplanationSpec *GoogleCloudAiplatformV1ExplanationSpec `json:"explanationSpec,omitempty"`
	// GenerateExplanation: 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 object: *
	// `bigquery`: output includes a column named `explanation`. The value is a
	// struct that conforms to the 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 object. * `csv`:
	// Generating explanations for CSV format is not supported. If this field is
	// set to true, either the Model.explanation_spec or explanation_spec must be
	// populated.
	GenerateExplanation bool `json:"generateExplanation,omitempty"`
	// InputConfig: Required. Input configuration of the instances on which
	// predictions are performed. The schema of any single instance may be
	// specified via the Model's PredictSchemata's instance_schema_uri.
	InputConfig *GoogleCloudAiplatformV1BatchPredictionJobInputConfig `json:"inputConfig,omitempty"`
	// InstanceConfig: Configuration for how to convert batch prediction input
	// instances to the prediction instances that are sent to the Model.
	InstanceConfig *GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig `json:"instanceConfig,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// ManualBatchTuningParameters: Immutable. Parameters configuring the batch
	// behavior. Currently only applicable when dedicated_resources are used (in
	// other cases Vertex AI does the tuning itself).
	ManualBatchTuningParameters *GoogleCloudAiplatformV1ManualBatchTuningParameters `json:"manualBatchTuningParameters,omitempty"`
	// Model: 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, unmanaged_container_model, or endpoint 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 `json:"model,omitempty"`
	// ModelParameters: The parameters that govern the predictions. The schema of
	// the parameters may be specified via the Model's PredictSchemata's
	// parameters_schema_uri.
	ModelParameters interface{} `json:"modelParameters,omitempty"`
	// ModelVersionId: Output only. The version ID of the Model that produces the
	// predictions via this job.
	ModelVersionId string `json:"modelVersionId,omitempty"`
	// Name: Output only. Resource name of the BatchPredictionJob.
	Name string `json:"name,omitempty"`
	// OutputConfig: 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 PredictSchemata's
	// instance_schema_uri and prediction_schema_uri.
	OutputConfig *GoogleCloudAiplatformV1BatchPredictionJobOutputConfig `json:"outputConfig,omitempty"`
	// OutputInfo: Output only. Information further describing the output of this
	// job.
	OutputInfo *GoogleCloudAiplatformV1BatchPredictionJobOutputInfo `json:"outputInfo,omitempty"`
	// PartialFailures: 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 []*GoogleRpcStatus `json:"partialFailures,omitempty"`
	// ResourcesConsumed: 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 *GoogleCloudAiplatformV1ResourcesConsumed `json:"resourcesConsumed,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// ServiceAccount: 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 `json:"serviceAccount,omitempty"`
	// StartTime: Output only. Time when the BatchPredictionJob for the first time
	// entered the `JOB_STATE_RUNNING` state.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the job.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	State string `json:"state,omitempty"`
	// UnmanagedContainerModel: Contains model information necessary to perform
	// batch prediction without requiring uploading to model registry. Exactly one
	// of model, unmanaged_container_model, or endpoint must be set.
	UnmanagedContainerModel *GoogleCloudAiplatformV1UnmanagedContainerModel `json:"unmanagedContainerModel,omitempty"`
	// UpdateTime: Output only. Time when the BatchPredictionJob was most recently
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CompletionStats") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompletionStats") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchPredictionJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchPredictionJobInputConfig: Configures the input
// to BatchPredictionJob. See Model.supported_input_storage_formats for Model's
// supported input formats, and how instances should be expressed via any of
// them.
type GoogleCloudAiplatformV1BatchPredictionJobInputConfig struct {
	// BigquerySource: 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 *GoogleCloudAiplatformV1BigQuerySource `json:"bigquerySource,omitempty"`
	// GcsSource: The Cloud Storage location for the input instances.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// InstancesFormat: Required. The format in which instances are given, must be
	// one of the Model's supported_input_storage_formats.
	InstancesFormat string `json:"instancesFormat,omitempty"`
	// VertexMultimodalDatasetSource: A Vertex Managed Dataset. Currently, only
	// datasets of type Multimodal are supported.
	VertexMultimodalDatasetSource *GoogleCloudAiplatformV1VertexMultimodalDatasetSource `json:"vertexMultimodalDatasetSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigquerySource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigquerySource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchPredictionJobInputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobInputConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig: Configuration
// defining how to transform batch prediction input instances to the instances
// that the Model accepts.
type GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig struct {
	// ExcludedFields: 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 is not specified. When excluded_fields is populated,
	// included_fields must be empty. The input must be JSONL with objects at each
	// line, BigQuery or TfRecord.
	ExcludedFields []string `json:"excludedFields,omitempty"`
	// IncludedFields: Fields that will be included in the prediction instance that
	// is sent to the Model. If 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 must be empty. The input
	// must be JSONL with objects at each line, BigQuery or TfRecord.
	IncludedFields []string `json:"includedFields,omitempty"`
	// InstanceType: The format of the instance that the Model accepts. Vertex AI
	// will convert compatible batch prediction input instance formats 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 is populated. included_fields must be
	// populated for specifying field orders. * For `jsonl`, if each line of the
	// JSONL input is an object, 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 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 `json:"instanceType,omitempty"`
	// KeyField: 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. 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 `json:"keyField,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExcludedFields") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExcludedFields") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchPredictionJobOutputConfig: Configures the output
// of BatchPredictionJob. See Model.supported_output_storage_formats for
// supported output formats, and how predictions are expressed via any of them.
type GoogleCloudAiplatformV1BatchPredictionJobOutputConfig struct {
	// BigqueryDestination: 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 and prediction 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
	// represented as a STRUCT, and containing only `code` and `message`.
	BigqueryDestination *GoogleCloudAiplatformV1BigQueryDestination `json:"bigqueryDestination,omitempty"`
	// GcsDestination: 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, and N may equal 0001 and depends on the total
	// number of successfully predicted instances. If the Model has both instance
	// and prediction schemata defined then each such file contains predictions as
	// per the 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
	// containing only `code` and `message` fields.
	GcsDestination *GoogleCloudAiplatformV1GcsDestination `json:"gcsDestination,omitempty"`
	// PredictionsFormat: Required. The format in which Vertex AI gives the
	// predictions, must be one of the Model's supported_output_storage_formats.
	PredictionsFormat string `json:"predictionsFormat,omitempty"`
	// VertexMultimodalDatasetDestination: The details for a Vertex Multimodal
	// Dataset that will be created for the output.
	VertexMultimodalDatasetDestination *GoogleCloudAiplatformV1VertexMultimodalDatasetDestination `json:"vertexMultimodalDatasetDestination,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryDestination") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchPredictionJobOutputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobOutputConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchPredictionJobOutputInfo: Further describes this
// job's output. Supplements output_config.
type GoogleCloudAiplatformV1BatchPredictionJobOutputInfo struct {
	// BigqueryOutputDataset: Output only. The path of the BigQuery dataset
	// created, in `bq://projectId.bqDatasetId` format, into which the prediction
	// output is written.
	BigqueryOutputDataset string `json:"bigqueryOutputDataset,omitempty"`
	// BigqueryOutputTable: 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 `json:"bigqueryOutputTable,omitempty"`
	// GcsOutputDirectory: Output only. The full path of the Cloud Storage
	// directory created, into which the prediction output is written.
	GcsOutputDirectory string `json:"gcsOutputDirectory,omitempty"`
	// VertexMultimodalDatasetName: Output only. The resource name of the Vertex
	// Managed Dataset created, into which the prediction output is written.
	// Format: `projects/{project}/locations/{location}/datasets/{dataset}`
	VertexMultimodalDatasetName string `json:"vertexMultimodalDatasetName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryOutputDataset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryOutputDataset") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchPredictionJobOutputInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobOutputInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata: Details of
// operations that batch reads Feature values.
type GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata struct {
	// GenericMetadata: Operation metadata for Featurestore batch read Features
	// values.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchReadFeatureValuesRequest: Request message for
// FeaturestoreService.BatchReadFeatureValues.
type GoogleCloudAiplatformV1BatchReadFeatureValuesRequest struct {
	// BigqueryReadInstances: Similar to csv_read_instances, but from BigQuery
	// source.
	BigqueryReadInstances *GoogleCloudAiplatformV1BigQuerySource `json:"bigqueryReadInstances,omitempty"`
	// CsvReadInstances: 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 *GoogleCloudAiplatformV1CsvSource `json:"csvReadInstances,omitempty"`
	// Destination: Required. Specifies output location and format.
	Destination *GoogleCloudAiplatformV1FeatureValueDestination `json:"destination,omitempty"`
	// EntityTypeSpecs: Required. Specifies EntityType grouping Features to read
	// values of and settings.
	EntityTypeSpecs []*GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec `json:"entityTypeSpecs,omitempty"`
	// PassThroughFields: 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 []*GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField `json:"passThroughFields,omitempty"`
	// StartTime: 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 string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryReadInstances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryReadInstances") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchReadFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec: Selects
// Features of an EntityType to read values of and specifies read settings.
type GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec struct {
	// EntityTypeId: Required. ID of the EntityType to select Features. The
	// EntityType id is the entity_type_id specified during EntityType creation.
	EntityTypeId string `json:"entityTypeId,omitempty"`
	// FeatureSelector: Required. Selectors choosing which Feature values to read
	// from the EntityType.
	FeatureSelector *GoogleCloudAiplatformV1FeatureSelector `json:"featureSelector,omitempty"`
	// Settings: Per-Feature settings for the batch read.
	Settings []*GoogleCloudAiplatformV1DestinationFeatureSetting `json:"settings,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntityTypeId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityTypeId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField:
// Describe pass-through fields in read_instance source.
type GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField struct {
	// FieldName: 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.
	FieldName string `json:"fieldName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FieldName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FieldName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BatchReadFeatureValuesResponse: Response message for
// FeaturestoreService.BatchReadFeatureValues.
type GoogleCloudAiplatformV1BatchReadFeatureValuesResponse struct {
}

// GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse: Response
// message for TensorboardService.BatchReadTensorboardTimeSeriesData.
type GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse struct {
	// TimeSeriesData: The returned time series data.
	TimeSeriesData []*GoogleCloudAiplatformV1TimeSeriesData `json:"timeSeriesData,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "TimeSeriesData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TimeSeriesData") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BigQueryDestination: The BigQuery location for the
// output content.
type GoogleCloudAiplatformV1BigQueryDestination struct {
	// OutputUri: 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 `json:"outputUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "OutputUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OutputUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BigQueryDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BigQueryDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BigQueryRequestSet: The request set for the
// evaluation run.
type GoogleCloudAiplatformV1BigQueryRequestSet struct {
	// CandidateResponseColumns: Optional. Map of candidate name to candidate
	// response column name. The column will be in
	// evaluation_item.CandidateResponse format.
	CandidateResponseColumns map[string]string `json:"candidateResponseColumns,omitempty"`
	// PromptColumn: Optional. The name of the column that contains the requests to
	// evaluate. This will be in evaluation_item.EvalPrompt format.
	PromptColumn string `json:"promptColumn,omitempty"`
	// RubricsColumn: Optional. The name of the column that contains the rubrics.
	// This is in evaluation_rubric.RubricGroup format.
	RubricsColumn string `json:"rubricsColumn,omitempty"`
	// SamplingConfig: Optional. The sampling config for the bigquery resource.
	SamplingConfig *GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig `json:"samplingConfig,omitempty"`
	// Uri: Required. The URI of a BigQuery table. e.g.
	// bq://projectId.bqDatasetId.bqTableId
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CandidateResponseColumns")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CandidateResponseColumns") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BigQueryRequestSet) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BigQueryRequestSet
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig: The sampling
// config.
type GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig struct {
	// SamplingCount: Optional. The total number of logged data to import. If
	// available data is less than the sampling count, all data will be imported.
	// Default is 100.
	SamplingCount int64 `json:"samplingCount,omitempty"`
	// SamplingDuration: Optional. How long to wait before sampling data from the
	// BigQuery table. If not specified, defaults to 0.
	SamplingDuration string `json:"samplingDuration,omitempty"`
	// SamplingMethod: Optional. The sampling method to use.
	//
	// Possible values:
	//   "SAMPLING_METHOD_UNSPECIFIED" - Unspecified sampling method.
	//   "RANDOM" - Random sampling.
	SamplingMethod string `json:"samplingMethod,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SamplingCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SamplingCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BigQueryRequestSetSamplingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BigQuerySource: The BigQuery location for the input
// content.
type GoogleCloudAiplatformV1BigQuerySource struct {
	// InputUri: Required. BigQuery URI to a table, up to 2000 characters long.
	// Accepted forms: * BigQuery path. For example:
	// `bq://projectId.bqDatasetId.bqTableId`.
	InputUri string `json:"inputUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InputUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InputUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BigQuerySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BigQuerySource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BleuInput: Input for bleu metric.
type GoogleCloudAiplatformV1BleuInput struct {
	// Instances: Required. Repeated bleu instances.
	Instances []*GoogleCloudAiplatformV1BleuInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for bleu score metric.
	MetricSpec *GoogleCloudAiplatformV1BleuSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BleuInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BleuInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BleuInstance: Spec for bleu instance.
type GoogleCloudAiplatformV1BleuInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Required. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BleuInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BleuInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BleuMetricValue: Bleu metric value for an instance.
type GoogleCloudAiplatformV1BleuMetricValue struct {
	// Score: Output only. Bleu score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BleuMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BleuMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1BleuMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1BleuMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1BleuResults: Results for bleu metric.
type GoogleCloudAiplatformV1BleuResults struct {
	// BleuMetricValues: Output only. Bleu metric values.
	BleuMetricValues []*GoogleCloudAiplatformV1BleuMetricValue `json:"bleuMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BleuMetricValues") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BleuMetricValues") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BleuResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BleuResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BleuSpec: Spec for bleu score metric - calculates the
// precision of n-grams in the prediction as compared to reference - returns a
// score ranging between 0 to 1.
type GoogleCloudAiplatformV1BleuSpec struct {
	// UseEffectiveOrder: Optional. Whether to use_effective_order to compute bleu
	// score.
	UseEffectiveOrder bool `json:"useEffectiveOrder,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseEffectiveOrder") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseEffectiveOrder") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BleuSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BleuSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Blob: A content blob. A Blob contains data of a
// specific media type. It is used to represent images, audio, and video.
type GoogleCloudAiplatformV1Blob struct {
	// Data: Required. The raw bytes of the data.
	Data string `json:"data,omitempty"`
	// DisplayName: Optional. The display name of the blob. Used to provide a label
	// or filename to distinguish blobs. This field is only returned in
	// `PromptMessage` for prompt management. It is used in the Gemini calls only
	// when server-side tools (`code_execution`, `google_search`, and
	// `url_context`) are enabled.
	DisplayName string `json:"displayName,omitempty"`
	// MimeType: Required. The IANA standard MIME type of the source data.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Data") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Blob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Blob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1BlurBaselineConfig: 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 GoogleCloudAiplatformV1BlurBaselineConfig struct {
	// MaxBlurSigma: 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 float64 `json:"maxBlurSigma,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxBlurSigma") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxBlurSigma") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BlurBaselineConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BlurBaselineConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1BlurBaselineConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1BlurBaselineConfig
	var s1 struct {
		MaxBlurSigma gensupport.JSONFloat64 `json:"maxBlurSigma"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.MaxBlurSigma = float64(s1.MaxBlurSigma)
	return nil
}

// GoogleCloudAiplatformV1BoolArray: A list of boolean values.
type GoogleCloudAiplatformV1BoolArray struct {
	// Values: A list of bool values.
	Values []bool `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1BoolArray) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BoolArray
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CacheConfig: Config of GenAI caching features. This
// is a singleton resource.
type GoogleCloudAiplatformV1CacheConfig struct {
	// DisableCache: If set to true, disables GenAI caching. Otherwise caching is
	// enabled.
	DisableCache bool `json:"disableCache,omitempty"`
	// Name: Identifier. Name of the cache config. Format: -
	// `projects/{project}/cacheConfig`.
	Name string `json:"name,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DisableCache") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisableCache") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CacheConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CacheConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CachedContent: A resource used in LLM queries for
// users to explicitly specify what to cache and how to cache.
type GoogleCloudAiplatformV1CachedContent struct {
	// Contents: Optional. Input only. Immutable. The content to cache
	Contents []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// CreateTime: Output only. Creation time of the cache entry.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Optional. Immutable. The user-generated meaningful display name
	// of the cached content.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: Input only. Immutable. Customer-managed encryption key spec
	// for a `CachedContent`. If set, this `CachedContent` and all its
	// sub-resources will be secured by this key.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// ExpireTime: Timestamp of when this resource is considered expired. This is
	// *always* provided on output, regardless of what was sent on input.
	ExpireTime string `json:"expireTime,omitempty"`
	// Model: Immutable. The name of the `Model` to use for cached content.
	// Currently, only the published Gemini base models are supported, in form of
	// projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}
	Model string `json:"model,omitempty"`
	// Name: Immutable. Identifier. The server-generated resource name of the
	// cached content Format:
	// projects/{project}/locations/{location}/cachedContents/{cached_content}
	Name string `json:"name,omitempty"`
	// SystemInstruction: Optional. Input only. Immutable. Developer set system
	// instruction. Currently, text only
	SystemInstruction *GoogleCloudAiplatformV1Content `json:"systemInstruction,omitempty"`
	// ToolConfig: Optional. Input only. Immutable. Tool config. This config is
	// shared for all tools
	ToolConfig *GoogleCloudAiplatformV1ToolConfig `json:"toolConfig,omitempty"`
	// Tools: Optional. Input only. Immutable. A list of `Tools` the model may use
	// to generate the next response
	Tools []*GoogleCloudAiplatformV1Tool `json:"tools,omitempty"`
	// Ttl: Input only. The TTL for this resource. The expiration time is computed:
	// now + TTL.
	Ttl string `json:"ttl,omitempty"`
	// UpdateTime: Output only. When the cache entry was last updated in UTC time.
	UpdateTime string `json:"updateTime,omitempty"`
	// UsageMetadata: Output only. Metadata on the usage of the cached content.
	UsageMetadata *GoogleCloudAiplatformV1CachedContentUsageMetadata `json:"usageMetadata,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CachedContent) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CachedContent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CachedContentUsageMetadata: Metadata on the usage of
// the cached content.
type GoogleCloudAiplatformV1CachedContentUsageMetadata struct {
	// AudioDurationSeconds: Duration of audio in seconds.
	AudioDurationSeconds int64 `json:"audioDurationSeconds,omitempty"`
	// ImageCount: Number of images.
	ImageCount int64 `json:"imageCount,omitempty"`
	// TextCount: Number of text characters.
	TextCount int64 `json:"textCount,omitempty"`
	// TotalTokenCount: Total number of tokens that the cached content consumes.
	TotalTokenCount int64 `json:"totalTokenCount,omitempty"`
	// VideoDurationSeconds: Duration of video in seconds.
	VideoDurationSeconds int64 `json:"videoDurationSeconds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AudioDurationSeconds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AudioDurationSeconds") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CachedContentUsageMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CachedContentUsageMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CancelBatchPredictionJobRequest: Request message for
// JobService.CancelBatchPredictionJob.
type GoogleCloudAiplatformV1CancelBatchPredictionJobRequest struct {
}

// GoogleCloudAiplatformV1CancelCustomJobRequest: Request message for
// JobService.CancelCustomJob.
type GoogleCloudAiplatformV1CancelCustomJobRequest struct {
}

// GoogleCloudAiplatformV1CancelDataLabelingJobRequest: Request message for
// JobService.CancelDataLabelingJob.
type GoogleCloudAiplatformV1CancelDataLabelingJobRequest struct {
}

// GoogleCloudAiplatformV1CancelEvaluationRunRequest: Request message for
// EvaluationManagementService.CancelEvaluationRun.
type GoogleCloudAiplatformV1CancelEvaluationRunRequest struct {
}

// GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest: Request message
// for JobService.CancelHyperparameterTuningJob.
type GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest struct {
}

// GoogleCloudAiplatformV1CancelNasJobRequest: Request message for
// JobService.CancelNasJob.
type GoogleCloudAiplatformV1CancelNasJobRequest struct {
}

// GoogleCloudAiplatformV1CancelPipelineJobRequest: Request message for
// PipelineService.CancelPipelineJob.
type GoogleCloudAiplatformV1CancelPipelineJobRequest struct {
}

// GoogleCloudAiplatformV1CancelTrainingPipelineRequest: Request message for
// PipelineService.CancelTrainingPipeline.
type GoogleCloudAiplatformV1CancelTrainingPipelineRequest struct {
}

// GoogleCloudAiplatformV1CancelTuningJobRequest: Request message for
// GenAiTuningService.CancelTuningJob.
type GoogleCloudAiplatformV1CancelTuningJobRequest struct {
}

// GoogleCloudAiplatformV1Candidate: A response candidate generated from the
// model.
type GoogleCloudAiplatformV1Candidate struct {
	// AvgLogprobs: Output only. The average log probability of the tokens in this
	// candidate. This is a length-normalized score that can be used to compare the
	// quality of candidates of different lengths. A higher average log probability
	// suggests a more confident and coherent response.
	AvgLogprobs float64 `json:"avgLogprobs,omitempty"`
	// CitationMetadata: Output only. A collection of citations that apply to the
	// generated content.
	CitationMetadata *GoogleCloudAiplatformV1CitationMetadata `json:"citationMetadata,omitempty"`
	// Content: Output only. The content of the candidate.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// FinishMessage: Output only. Describes the reason the model stopped
	// generating tokens in more detail. This field is returned only when
	// `finish_reason` is set.
	FinishMessage string `json:"finishMessage,omitempty"`
	// FinishReason: Output only. The reason why the model stopped generating
	// tokens. If empty, the model has not stopped generating.
	//
	// Possible values:
	//   "FINISH_REASON_UNSPECIFIED" - The finish reason is unspecified.
	//   "STOP" - The model reached a natural stopping point or a configured stop
	// sequence.
	//   "MAX_TOKENS" - The model generated the maximum number of tokens allowed by
	// the `max_output_tokens` parameter.
	//   "SAFETY" - The model stopped generating because the content potentially
	// violates safety policies. NOTE: When streaming, the `content` field is empty
	// if content filters block the output.
	//   "RECITATION" - The model stopped generating because the content may be a
	// recitation from a source.
	//   "OTHER" - The model stopped generating for a reason not otherwise
	// specified.
	//   "BLOCKLIST" - The model stopped generating because the content contains a
	// term from a configured blocklist.
	//   "PROHIBITED_CONTENT" - The model stopped generating because the content
	// may be prohibited.
	//   "SPII" - The model stopped generating because the content may contain
	// sensitive personally identifiable information (SPII).
	//   "MALFORMED_FUNCTION_CALL" - The model generated a function call that is
	// syntactically invalid and can't be parsed.
	//   "MODEL_ARMOR" - The model response was blocked by Model Armor.
	//   "IMAGE_SAFETY" - The generated image potentially violates safety policies.
	//   "IMAGE_PROHIBITED_CONTENT" - The generated image may contain prohibited
	// content.
	//   "IMAGE_RECITATION" - The generated image may be a recitation from a
	// source.
	//   "IMAGE_OTHER" - The image generation stopped for a reason not otherwise
	// specified.
	//   "UNEXPECTED_TOOL_CALL" - The model generated a function call that is
	// semantically invalid. This can happen, for example, if function calling is
	// not enabled or the generated function is not in the function declaration.
	//   "NO_IMAGE" - The model was expected to generate an image, but didn't.
	FinishReason string `json:"finishReason,omitempty"`
	// GroundingMetadata: Output only. Metadata returned when grounding is enabled.
	// It contains the sources used to ground the generated content.
	GroundingMetadata *GoogleCloudAiplatformV1GroundingMetadata `json:"groundingMetadata,omitempty"`
	// Index: Output only. The 0-based index of this candidate in the list of
	// generated responses. This is useful for distinguishing between multiple
	// candidates when `candidate_count` > 1.
	Index int64 `json:"index,omitempty"`
	// LogprobsResult: Output only. The detailed log probability information for
	// the tokens in this candidate. This is useful for debugging, understanding
	// model uncertainty, and identifying potential "hallucinations".
	LogprobsResult *GoogleCloudAiplatformV1LogprobsResult `json:"logprobsResult,omitempty"`
	// SafetyRatings: Output only. A list of ratings for the safety of a response
	// candidate. There is at most one rating per category.
	SafetyRatings []*GoogleCloudAiplatformV1SafetyRating `json:"safetyRatings,omitempty"`
	// UrlContextMetadata: Output only. Metadata returned when the model uses the
	// `url_context` tool to get information from a user-provided URL.
	UrlContextMetadata *GoogleCloudAiplatformV1UrlContextMetadata `json:"urlContextMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvgLogprobs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvgLogprobs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Candidate) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Candidate
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Candidate) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Candidate
	var s1 struct {
		AvgLogprobs gensupport.JSONFloat64 `json:"avgLogprobs"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.AvgLogprobs = float64(s1.AvgLogprobs)
	return nil
}

// GoogleCloudAiplatformV1CandidateResponse: Responses from model or agent.
type GoogleCloudAiplatformV1CandidateResponse struct {
	// Candidate: Required. The name of the candidate that produced the response.
	Candidate string `json:"candidate,omitempty"`
	// Error: Output only. Error while scraping model or agent.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Text: Text response.
	Text string `json:"text,omitempty"`
	// Value: Fields and values that can be used to populate the response template.
	Value interface{} `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Candidate") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Candidate") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CandidateResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CandidateResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CandidateResult: Result for a single candidate.
type GoogleCloudAiplatformV1CandidateResult struct {
	// AdditionalResults: Optional. Additional results for the metric.
	AdditionalResults interface{} `json:"additionalResults,omitempty"`
	// Candidate: Required. The candidate that is being evaluated. The value is the
	// same as the candidate name in the EvaluationRequest.
	Candidate string `json:"candidate,omitempty"`
	// Explanation: Optional. The explanation for the metric.
	Explanation string `json:"explanation,omitempty"`
	// Metric: Required. The metric that was evaluated.
	Metric string `json:"metric,omitempty"`
	// RubricVerdicts: Optional. The rubric verdicts for the metric.
	RubricVerdicts []*GoogleCloudAiplatformV1RubricVerdict `json:"rubricVerdicts,omitempty"`
	// Score: Optional. The score for the metric.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalResults") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CandidateResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CandidateResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1CandidateResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1CandidateResult
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata: This message
// will be placed in the metadata field of a google.longrunning.Operation
// associated with a CheckTrialEarlyStoppingState request.
type GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata struct {
	// GenericMetadata: Operation metadata for suggesting Trials.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// Study: The name of the Study that the Trial belongs to.
	Study string `json:"study,omitempty"`
	// Trial: The Trial name.
	Trial string `json:"trial,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest: Request message
// for VizierService.CheckTrialEarlyStoppingState.
type GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest struct {
}

// GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse: Response
// message for VizierService.CheckTrialEarlyStoppingState.
type GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse struct {
	// ShouldStop: True if the Trial should stop.
	ShouldStop bool `json:"shouldStop,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ShouldStop") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ShouldStop") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Checkpoint: Describes the machine learning model
// version checkpoint.
type GoogleCloudAiplatformV1Checkpoint struct {
	// CheckpointId: The ID of the checkpoint.
	CheckpointId string `json:"checkpointId,omitempty"`
	// Epoch: The epoch of the checkpoint.
	Epoch int64 `json:"epoch,omitempty,string"`
	// Step: The step of the checkpoint.
	Step int64 `json:"step,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "CheckpointId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CheckpointId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Checkpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Checkpoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Chunk: Container for bytes-encoded data such as video
// frame, audio sample, or a complete binary/text data.
type GoogleCloudAiplatformV1Chunk struct {
	// Data: Required. The data in the chunk.
	Data string `json:"data,omitempty"`
	// Metadata: Optional. Metadata that is associated with the data in the
	// payload.
	Metadata *GoogleCloudAiplatformV1Metadata `json:"metadata,omitempty"`
	// MimeType: Required. Mime type of the chunk data. See
	// https://www.iana.org/assignments/media-types/media-types.xhtml for the full
	// list.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Data") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Chunk) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Chunk
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Citation: A citation for a piece of generatedcontent.
type GoogleCloudAiplatformV1Citation struct {
	// EndIndex: Output only. The end index of the citation in the content.
	EndIndex int64 `json:"endIndex,omitempty"`
	// License: Output only. The license of the source of the citation.
	License string `json:"license,omitempty"`
	// PublicationDate: Output only. The publication date of the source of the
	// citation.
	PublicationDate *GoogleTypeDate `json:"publicationDate,omitempty"`
	// StartIndex: Output only. The start index of the citation in the content.
	StartIndex int64 `json:"startIndex,omitempty"`
	// Title: Output only. The title of the source of the citation.
	Title string `json:"title,omitempty"`
	// Uri: Output only. The URI of the source of the citation.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndIndex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndIndex") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Citation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Citation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CitationMetadata: A collection of citations that
// apply to a piece of generated content.
type GoogleCloudAiplatformV1CitationMetadata struct {
	// Citations: Output only. A list of citations for the content.
	Citations []*GoogleCloudAiplatformV1Citation `json:"citations,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Citations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Citations") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CitationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CitationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Claim: Claim that is extracted from the input text
// and facts that support it.
type GoogleCloudAiplatformV1Claim struct {
	// EndIndex: Index in the input text where the claim ends (exclusive).
	EndIndex int64 `json:"endIndex,omitempty"`
	// FactIndexes: Indexes of the facts supporting this claim.
	FactIndexes []int64 `json:"factIndexes,omitempty"`
	// Score: Confidence score of this corroboration.
	Score float64 `json:"score,omitempty"`
	// StartIndex: Index in the input text where the claim starts (inclusive).
	StartIndex int64 `json:"startIndex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndIndex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndIndex") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Claim) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Claim
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Claim) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Claim
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1ClientConnectionConfig: Configurations (e.g.
// inference timeout) that are applied on your endpoints.
type GoogleCloudAiplatformV1ClientConnectionConfig struct {
	// InferenceTimeout: Customizable online prediction request timeout.
	InferenceTimeout string `json:"inferenceTimeout,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InferenceTimeout") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InferenceTimeout") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ClientConnectionConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ClientConnectionConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CodeExecutionResult: Result of executing the
// ExecutableCode. Generated only when the `CodeExecution` tool is used.
type GoogleCloudAiplatformV1CodeExecutionResult struct {
	// Outcome: Required. Outcome of the code execution.
	//
	// Possible values:
	//   "OUTCOME_UNSPECIFIED" - Unspecified status. This value should not be used.
	//   "OUTCOME_OK" - Code execution completed successfully. `output` contains
	// the stdout, if any.
	//   "OUTCOME_FAILED" - Code execution failed. `output` contains the stderr and
	// stdout, if any.
	//   "OUTCOME_DEADLINE_EXCEEDED" - Code execution ran for too long, and was
	// cancelled. There may or may not be a partial `output` present.
	Outcome string `json:"outcome,omitempty"`
	// Output: Optional. Contains stdout when code execution is successful, stderr
	// or other description otherwise.
	Output string `json:"output,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Outcome") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Outcome") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CodeExecutionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CodeExecutionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CoherenceInput: Input for coherence metric.
type GoogleCloudAiplatformV1CoherenceInput struct {
	// Instance: Required. Coherence instance.
	Instance *GoogleCloudAiplatformV1CoherenceInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for coherence score metric.
	MetricSpec *GoogleCloudAiplatformV1CoherenceSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CoherenceInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CoherenceInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CoherenceInstance: Spec for coherence instance.
type GoogleCloudAiplatformV1CoherenceInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CoherenceInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CoherenceInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CoherenceResult: Spec for coherence result.
type GoogleCloudAiplatformV1CoherenceResult struct {
	// Confidence: Output only. Confidence for coherence score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for coherence score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Coherence score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CoherenceResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CoherenceResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1CoherenceResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1CoherenceResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1CoherenceSpec: Spec for coherence score metric.
type GoogleCloudAiplatformV1CoherenceSpec struct {
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Version") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CoherenceSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CoherenceSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ColabImage: Colab image of the runtime.
type GoogleCloudAiplatformV1ColabImage struct {
	// Description: Output only. A human-readable description of the specified
	// colab image release, populated by the system. Example: "Python 3.10",
	// "Latest - current Python 3.11"
	Description string `json:"description,omitempty"`
	// ReleaseName: Optional. The release name of the NotebookRuntime Colab image,
	// e.g. "py310". If not specified, detault to the latest release.
	ReleaseName string `json:"releaseName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ColabImage) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ColabImage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CometInput: Input for Comet metric.
type GoogleCloudAiplatformV1CometInput struct {
	// Instance: Required. Comet instance.
	Instance *GoogleCloudAiplatformV1CometInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for comet metric.
	MetricSpec *GoogleCloudAiplatformV1CometSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CometInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CometInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CometInstance: Spec for Comet instance - The fields
// used for evaluation are dependent on the comet version.
type GoogleCloudAiplatformV1CometInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// Source: Optional. Source text in original language.
	Source string `json:"source,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CometInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CometInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CometResult: Spec for Comet result - calculates the
// comet score for the given instance using the version specified in the spec.
type GoogleCloudAiplatformV1CometResult struct {
	// Score: Output only. Comet score. Range depends on version.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CometResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CometResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1CometResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1CometResult
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1CometSpec: Spec for Comet metric.
type GoogleCloudAiplatformV1CometSpec struct {
	// SourceLanguage: Optional. Source language in BCP-47 format.
	SourceLanguage string `json:"sourceLanguage,omitempty"`
	// TargetLanguage: Optional. Target language in BCP-47 format. Covers both
	// prediction and reference.
	TargetLanguage string `json:"targetLanguage,omitempty"`
	// Version: Required. Which version to use for evaluation.
	//
	// Possible values:
	//   "COMET_VERSION_UNSPECIFIED" - Comet version unspecified.
	//   "COMET_22_SRC_REF" - Comet 22 for translation + source + reference
	// (source-reference-combined).
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SourceLanguage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SourceLanguage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CometSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CometSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CompleteTrialRequest: Request message for
// VizierService.CompleteTrial.
type GoogleCloudAiplatformV1CompleteTrialRequest struct {
	// FinalMeasurement: Optional. If provided, it will be used as the completed
	// Trial's final_measurement; Otherwise, the service will auto-select a
	// previously reported measurement as the final-measurement
	FinalMeasurement *GoogleCloudAiplatformV1Measurement `json:"finalMeasurement,omitempty"`
	// InfeasibleReason: Optional. A human readable reason why the trial was
	// infeasible. This should only be provided if `trial_infeasible` is true.
	InfeasibleReason string `json:"infeasibleReason,omitempty"`
	// TrialInfeasible: Optional. True if the Trial cannot be run with the given
	// Parameter, and final_measurement will be ignored.
	TrialInfeasible bool `json:"trialInfeasible,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FinalMeasurement") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FinalMeasurement") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CompleteTrialRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CompleteTrialRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CompletionStats: Success and error statistics of
// processing multiple entities (for example, DataItems or structured data
// rows) in batch.
type GoogleCloudAiplatformV1CompletionStats struct {
	// FailedCount: Output only. The number of entities for which any error was
	// encountered.
	FailedCount int64 `json:"failedCount,omitempty,string"`
	// IncompleteCount: 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 `json:"incompleteCount,omitempty,string"`
	// SuccessfulCount: Output only. The number of entities that had been processed
	// successfully.
	SuccessfulCount int64 `json:"successfulCount,omitempty,string"`
	// SuccessfulForecastPointCount: 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 `json:"successfulForecastPointCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "FailedCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FailedCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CompletionStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CompletionStats
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ComputationBasedMetricSpec: Specification for a
// computation based metric.
type GoogleCloudAiplatformV1ComputationBasedMetricSpec struct {
	// Parameters: Optional. A map of parameters for the metric, e.g.
	// {"rouge_type": "rougeL"}.
	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
	// Type: Required. The type of the computation based metric.
	//
	// Possible values:
	//   "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED" - Unspecified computation
	// based metric type.
	//   "EXACT_MATCH" - Exact match metric.
	//   "BLEU" - BLEU metric.
	//   "ROUGE" - ROUGE metric.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parameters") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parameters") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ComputationBasedMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ComputationBasedMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ComputeTokensRequest: Request message for
// ComputeTokens RPC call.
type GoogleCloudAiplatformV1ComputeTokensRequest struct {
	// Contents: Optional. Input content.
	Contents []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// Instances: Optional. 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 []interface{} `json:"instances,omitempty"`
	// Model: Optional. The name of the publisher model requested to serve the
	// prediction. Format:
	// projects/{project}/locations/{location}/publishers/*/models/*
	Model string `json:"model,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ComputeTokensRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ComputeTokensRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ComputeTokensResponse: Response message for
// ComputeTokens RPC call.
type GoogleCloudAiplatformV1ComputeTokensResponse struct {
	// TokensInfo: 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 []*GoogleCloudAiplatformV1TokensInfo `json:"tokensInfo,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "TokensInfo") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TokensInfo") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ComputeTokensResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ComputeTokensResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ContainerRegistryDestination: The Container Registry
// location for the container image.
type GoogleCloudAiplatformV1ContainerRegistryDestination struct {
	// OutputUri: 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 `json:"outputUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "OutputUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OutputUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ContainerRegistryDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ContainerRegistryDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ContainerSpec: The spec of a Container.
type GoogleCloudAiplatformV1ContainerSpec struct {
	// Args: The arguments to be passed when starting the container.
	Args []string `json:"args,omitempty"`
	// Command: The command to be invoked when the container is started. It
	// overrides the entrypoint instruction in Dockerfile when provided.
	Command []string `json:"command,omitempty"`
	// Env: Environment variables to be passed to the container. Maximum limit is
	// 100.
	Env []*GoogleCloudAiplatformV1EnvVar `json:"env,omitempty"`
	// ImageUri: Required. The URI of a container image in the Container Registry
	// that is to be run on each worker replica.
	ImageUri string `json:"imageUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Args") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ContainerSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ContainerSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Content: The structured data content of a message. A
// Content message contains a `role` field, which indicates the producer of the
// content, and a `parts` field, which contains the multi-part data of the
// message.
type GoogleCloudAiplatformV1Content struct {
	// Parts: Required. A list of Part objects that make up a single message. Parts
	// of a message can have different MIME types. A Content message must have at
	// least one Part.
	Parts []*GoogleCloudAiplatformV1Part `json:"parts,omitempty"`
	// Role: Optional. The producer of the content. Must be either 'user' or
	// 'model'. If not set, the service will default to 'user'.
	Role string `json:"role,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parts") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Content) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Content
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ContentMap: Map of placeholder in metric prompt
// template to contents of model input.
type GoogleCloudAiplatformV1ContentMap struct {
	// Values: Optional. Map of placeholder to contents.
	Values map[string]GoogleCloudAiplatformV1ContentMapContents `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ContentMap) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ContentMap
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ContentMapContents: Repeated Content type.
type GoogleCloudAiplatformV1ContentMapContents struct {
	// Contents: Optional. Repeated contents.
	Contents []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ContentMapContents) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ContentMapContents
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Context: Instance of a general context.
type GoogleCloudAiplatformV1Context struct {
	// CreateTime: Output only. Timestamp when this Context was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of the Context
	Description string `json:"description,omitempty"`
	// DisplayName: User provided display name of the Context. May be up to 128
	// Unicode characters.
	DisplayName string `json:"displayName,omitempty"`
	// Etag: An eTag used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Metadata: 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 googleapi.RawMessage `json:"metadata,omitempty"`
	// Name: Immutable. The resource name of the Context.
	Name string `json:"name,omitempty"`
	// ParentContexts: 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 `json:"parentContexts,omitempty"`
	// SchemaTitle: 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 `json:"schemaTitle,omitempty"`
	// SchemaVersion: 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 `json:"schemaVersion,omitempty"`
	// UpdateTime: Output only. Timestamp when this Context was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Context) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Context
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CopyModelOperationMetadata: Details of
// ModelService.CopyModel operation.
type GoogleCloudAiplatformV1CopyModelOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CopyModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CopyModelOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CopyModelRequest: Request message for
// ModelService.CopyModel.
type GoogleCloudAiplatformV1CopyModelRequest struct {
	// CustomServiceAccount: Optional. The user-provided custom service account to
	// use to do the copy model. 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 destination project where the model is copied to, i.e.,
	// the project specified in the `parent` field of this request and have the
	// Vertex AI Service Agent role in the source project. Requires the user
	// copying the Model to have the `iam.serviceAccounts.actAs` permission on this
	// service account.
	CustomServiceAccount string `json:"customServiceAccount,omitempty"`
	// EncryptionSpec: Customer-managed encryption key options. If this is set,
	// then the Model copy will be encrypted with the provided encryption key.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// ModelId: 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 `json:"modelId,omitempty"`
	// ParentModel: 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 `json:"parentModel,omitempty"`
	// SourceModel: 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 `json:"sourceModel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomServiceAccount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomServiceAccount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CopyModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CopyModelRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CopyModelResponse: Response message of
// ModelService.CopyModel operation.
type GoogleCloudAiplatformV1CopyModelResponse struct {
	// Model: The name of the copied Model resource. Format:
	// `projects/{project}/locations/{location}/models/{model}`
	Model string `json:"model,omitempty"`
	// ModelVersionId: Output only. The version ID of the model that is copied.
	ModelVersionId string `json:"modelVersionId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Model") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CopyModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CopyModelResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CorpusStatus: RagCorpus status.
type GoogleCloudAiplatformV1CorpusStatus struct {
	// ErrorStatus: Output only. Only when the `state` field is ERROR.
	ErrorStatus string `json:"errorStatus,omitempty"`
	// State: Output only. RagCorpus life state.
	//
	// Possible values:
	//   "UNKNOWN" - This state is not supposed to happen.
	//   "INITIALIZED" - RagCorpus resource entry is initialized, but hasn't done
	// validation.
	//   "ACTIVE" - RagCorpus is provisioned successfully and is ready to serve.
	//   "ERROR" - RagCorpus is in a problematic situation. See `error_message`
	// field for details.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ErrorStatus") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ErrorStatus") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CorpusStatus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CorpusStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CorroborateContentRequest: Request message for
// CorroborateContent.
type GoogleCloudAiplatformV1CorroborateContentRequest struct {
	// Content: Optional. Input content to corroborate, only text format is
	// supported for now.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// Facts: Optional. Facts used to generate the text can also be used to
	// corroborate the text.
	Facts []*GoogleCloudAiplatformV1Fact `json:"facts,omitempty"`
	// Parameters: Optional. Parameters that can be set to override default
	// settings per request.
	Parameters *GoogleCloudAiplatformV1CorroborateContentRequestParameters `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CorroborateContentRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CorroborateContentRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CorroborateContentRequestParameters: Parameters that
// can be overrided per request.
type GoogleCloudAiplatformV1CorroborateContentRequestParameters struct {
	// CitationThreshold: Optional. Only return claims with citation score larger
	// than the threshold.
	CitationThreshold float64 `json:"citationThreshold,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CitationThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CitationThreshold") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CorroborateContentRequestParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CorroborateContentRequestParameters
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1CorroborateContentRequestParameters) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1CorroborateContentRequestParameters
	var s1 struct {
		CitationThreshold gensupport.JSONFloat64 `json:"citationThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.CitationThreshold = float64(s1.CitationThreshold)
	return nil
}

// GoogleCloudAiplatformV1CorroborateContentResponse: Response message for
// CorroborateContent.
type GoogleCloudAiplatformV1CorroborateContentResponse struct {
	// Claims: Claims that are extracted from the input content and facts that
	// support the claims.
	Claims []*GoogleCloudAiplatformV1Claim `json:"claims,omitempty"`
	// CorroborationScore: Confidence score of corroborating content. Value is
	// [0,1] with 1 is the most confidence.
	CorroborationScore float64 `json:"corroborationScore,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Claims") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Claims") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CorroborateContentResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CorroborateContentResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1CorroborateContentResponse) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1CorroborateContentResponse
	var s1 struct {
		CorroborationScore gensupport.JSONFloat64 `json:"corroborationScore"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.CorroborationScore = float64(s1.CorroborationScore)
	return nil
}

// GoogleCloudAiplatformV1CountTokensRequest: Request message for
// PredictionService.CountTokens.
type GoogleCloudAiplatformV1CountTokensRequest struct {
	// Contents: Optional. Input content.
	Contents []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// GenerationConfig: Optional. Generation config that the model will use to
	// generate the response.
	GenerationConfig *GoogleCloudAiplatformV1GenerationConfig `json:"generationConfig,omitempty"`
	// Instances: Optional. The instances that are the input to token counting
	// call. Schema is identical to the prediction schema of the underlying model.
	Instances []interface{} `json:"instances,omitempty"`
	// Model: Optional. The name of the publisher model requested to serve the
	// prediction. Format:
	// `projects/{project}/locations/{location}/publishers/*/models/*`
	Model string `json:"model,omitempty"`
	// SystemInstruction: Optional. The user provided system instructions for the
	// model. Note: only text should be used in parts and content in each part will
	// be in a separate paragraph.
	SystemInstruction *GoogleCloudAiplatformV1Content `json:"systemInstruction,omitempty"`
	// Tools: 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 []*GoogleCloudAiplatformV1Tool `json:"tools,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CountTokensRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CountTokensRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CountTokensResponse: Response message for
// PredictionService.CountTokens.
type GoogleCloudAiplatformV1CountTokensResponse struct {
	// PromptTokensDetails: Output only. List of modalities that were processed in
	// the request input.
	PromptTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"promptTokensDetails,omitempty"`
	// TotalBillableCharacters: The total number of billable characters counted
	// across all instances from the request.
	TotalBillableCharacters int64 `json:"totalBillableCharacters,omitempty"`
	// TotalTokens: The total number of tokens counted across all instances from
	// the request.
	TotalTokens int64 `json:"totalTokens,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "PromptTokensDetails") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PromptTokensDetails") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CountTokensResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CountTokensResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateDatasetOperationMetadata: Runtime operation
// information for DatasetService.CreateDataset.
type GoogleCloudAiplatformV1CreateDatasetOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateDatasetOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateDatasetOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata: Runtime
// operation information for DatasetService.CreateDatasetVersion.
type GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata:
// Runtime operation information for CreateDeploymentResourcePool method.
type GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest: Request message
// for CreateDeploymentResourcePool method.
type GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest struct {
	// DeploymentResourcePool: Required. The DeploymentResourcePool to create.
	DeploymentResourcePool *GoogleCloudAiplatformV1DeploymentResourcePool `json:"deploymentResourcePool,omitempty"`
	// DeploymentResourcePoolId: 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 `json:"deploymentResourcePoolId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeploymentResourcePool") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeploymentResourcePool") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateEndpointOperationMetadata: Runtime operation
// information for EndpointService.CreateEndpoint.
type GoogleCloudAiplatformV1CreateEndpointOperationMetadata struct {
	// DeploymentStage: Output only. The deployment stage of the model. Only
	// populated if this CreateEndpoint request deploys a model at the same time.
	//
	// Possible values:
	//   "DEPLOYMENT_STAGE_UNSPECIFIED" - Default value. This value is unused.
	//   "STARTING_DEPLOYMENT" - The deployment is initializing and setting up the
	// environment.
	//   "PREPARING_MODEL" - The deployment is preparing the model assets.
	//   "CREATING_SERVING_CLUSTER" - The deployment is creating the underlying
	// serving cluster.
	//   "ADDING_NODES_TO_CLUSTER" - The deployment is adding nodes to the serving
	// cluster.
	//   "GETTING_CONTAINER_IMAGE" - The deployment is getting the container image
	// for the model server.
	//   "STARTING_MODEL_SERVER" - The deployment is starting the model server.
	//   "FINISHING_UP" - The deployment is performing finalization steps.
	//   "DEPLOYMENT_TERMINATED" - The deployment has terminated.
	//   "SUCCESSFULLY_DEPLOYED" - The deployment has succeeded.
	//   "FAILED_TO_DEPLOY" - The deployment has failed.
	DeploymentStage string `json:"deploymentStage,omitempty"`
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeploymentStage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeploymentStage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateEndpointOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateEndpointOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata: Details of
// operations that perform create EntityType.
type GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata struct {
	// GenericMetadata: Operation metadata for EntityType.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata: Details of
// operations that perform create FeatureGroup.
type GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata struct {
	// GenericMetadata: Operation metadata for FeatureGroup.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata: Details of
// operations that perform create FeatureOnlineStore.
type GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata struct {
	// GenericMetadata: Operation metadata for FeatureOnlineStore.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateFeatureOperationMetadata: Details of operations
// that perform create Feature.
type GoogleCloudAiplatformV1CreateFeatureOperationMetadata struct {
	// GenericMetadata: Operation metadata for Feature.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateFeatureOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeatureOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateFeatureRequest: Request message for
// FeaturestoreService.CreateFeature. Request message for
// FeatureRegistryService.CreateFeature.
type GoogleCloudAiplatformV1CreateFeatureRequest struct {
	// Feature: Required. The Feature to create.
	Feature *GoogleCloudAiplatformV1Feature `json:"feature,omitempty"`
	// FeatureId: 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 `json:"featureId,omitempty"`
	// Parent: 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}/entityT
	// ypes/{entity_type}` Format for feature_group as parent:
	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
	Parent string `json:"parent,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Feature") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Feature") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateFeatureRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeatureRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata: Details of
// operations that perform create FeatureView.
type GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata struct {
	// GenericMetadata: Operation metadata for FeatureView Create.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata: Details of
// operations that perform create Featurestore.
type GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata struct {
	// GenericMetadata: Operation metadata for Featurestore.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata: Runtime
// operation information for IndexEndpointService.CreateIndexEndpoint.
type GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateIndexOperationMetadata: Runtime operation
// information for IndexService.CreateIndex.
type GoogleCloudAiplatformV1CreateIndexOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// NearestNeighborSearchOperationMetadata: The operation metadata with regard
	// to Matching Engine Index operation.
	NearestNeighborSearchOperationMetadata *GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata `json:"nearestNeighborSearchOperationMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateIndexOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata: Details of
// operations that perform MetadataService.CreateMetadataStore.
type GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata struct {
	// GenericMetadata: Operation metadata for creating a MetadataStore.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata: Metadata
// information for NotebookService.CreateNotebookExecutionJob.
type GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ProgressMessage: A human-readable message that shows the intermediate
	// progress details of NotebookRuntime.
	ProgressMessage string `json:"progressMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest: Request message
// for [NotebookService.CreateNotebookExecutionJob]
type GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest struct {
	// NotebookExecutionJob: Required. The NotebookExecutionJob to create.
	NotebookExecutionJob *GoogleCloudAiplatformV1NotebookExecutionJob `json:"notebookExecutionJob,omitempty"`
	// NotebookExecutionJobId: Optional. User specified ID for the
	// NotebookExecutionJob.
	NotebookExecutionJobId string `json:"notebookExecutionJobId,omitempty"`
	// Parent: Required. The resource name of the Location to create the
	// NotebookExecutionJob. Format: `projects/{project}/locations/{location}`
	Parent string `json:"parent,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NotebookExecutionJob") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NotebookExecutionJob") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata:
// Metadata information for NotebookService.CreateNotebookRuntimeTemplate.
type GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata: Details of
// operations that perform create PersistentResource.
type GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata struct {
	// GenericMetadata: Operation metadata for PersistentResource.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ProgressMessage: Progress Message for Create LRO
	ProgressMessage string `json:"progressMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreatePipelineJobRequest: Request message for
// PipelineService.CreatePipelineJob.
type GoogleCloudAiplatformV1CreatePipelineJobRequest struct {
	// Parent: Required. The resource name of the Location to create the
	// PipelineJob in. Format: `projects/{project}/locations/{location}`
	Parent string `json:"parent,omitempty"`
	// PipelineJob: Required. The PipelineJob to create.
	PipelineJob *GoogleCloudAiplatformV1PipelineJob `json:"pipelineJob,omitempty"`
	// PipelineJobId: 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-/`.
	PipelineJobId string `json:"pipelineJobId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parent") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parent") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreatePipelineJobRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreatePipelineJobRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata: Details of
// operations that perform create FeatureGroup.
type GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata struct {
	// GenericMetadata: Operation metadata for Feature.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata: Runtime
// operation information for SpecialistPoolService.CreateSpecialistPool.
type GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateTensorboardOperationMetadata: Details of
// operations that perform create Tensorboard.
type GoogleCloudAiplatformV1CreateTensorboardOperationMetadata struct {
	// GenericMetadata: Operation metadata for Tensorboard.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateTensorboardOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateTensorboardOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateTensorboardRunRequest: Request message for
// TensorboardService.CreateTensorboardRun.
type GoogleCloudAiplatformV1CreateTensorboardRunRequest struct {
	// Parent: Required. The resource name of the TensorboardExperiment to create
	// the TensorboardRun in. Format:
	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experimen
	// ts/{experiment}`
	Parent string `json:"parent,omitempty"`
	// TensorboardRun: Required. The TensorboardRun to create.
	TensorboardRun *GoogleCloudAiplatformV1TensorboardRun `json:"tensorboardRun,omitempty"`
	// TensorboardRunId: 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-/`.
	TensorboardRunId string `json:"tensorboardRunId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parent") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parent") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateTensorboardRunRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateTensorboardRunRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest: Request message
// for TensorboardService.CreateTensorboardTimeSeries.
type GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest struct {
	// Parent: Required. The resource name of the TensorboardRun to create the
	// TensorboardTimeSeries in. Format:
	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experimen
	// ts/{experiment}/runs/{run}`
	Parent string `json:"parent,omitempty"`
	// TensorboardTimeSeries: Required. The TensorboardTimeSeries to create.
	TensorboardTimeSeries *GoogleCloudAiplatformV1TensorboardTimeSeries `json:"tensorboardTimeSeries,omitempty"`
	// TensorboardTimeSeriesId: 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{0,
	// 127}"
	TensorboardTimeSeriesId string `json:"tensorboardTimeSeriesId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parent") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parent") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CsvDestination: The storage details for CSV output
// content.
type GoogleCloudAiplatformV1CsvDestination struct {
	// GcsDestination: Required. Google Cloud Storage location.
	GcsDestination *GoogleCloudAiplatformV1GcsDestination `json:"gcsDestination,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsDestination") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CsvDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CsvDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CsvSource: The storage details for CSV input content.
type GoogleCloudAiplatformV1CsvSource struct {
	// GcsSource: Required. Google Cloud Storage location.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsSource") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CsvSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CsvSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CustomCodeExecutionResult: Result for custom code
// execution metric.
type GoogleCloudAiplatformV1CustomCodeExecutionResult struct {
	// Score: Output only. Custom code execution score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CustomCodeExecutionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomCodeExecutionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1CustomCodeExecutionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1CustomCodeExecutionResult
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1CustomCodeExecutionSpec: Specificies a metric that is
// populated by evaluating user-defined Python code.
type GoogleCloudAiplatformV1CustomCodeExecutionSpec struct {
	// EvaluationFunction: Required. Python function. Expected user to define the
	// following function, e.g.: def evaluate(instance: dict[str, Any]) -> float:
	// Please include this function signature in the code snippet. Instance is the
	// evaluation instance, any fields populated in the instance are available to
	// the function as instance[field_name]. Example: Example input: ``` instance=
	// EvaluationInstance( response=EvaluationInstance.InstanceData(text="The
	// answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ```
	// Example converted input: ``` { 'response': {'text': 'The answer is 4.'},
	// 'reference': {'text': '4'} } ``` Example python function: ``` def
	// evaluate(instance: dict[str, Any]) -> float: if instance'response' ==
	// instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is
	// also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation.
	// Each line in the input jsonl file will be converted to dict[str, Any] and
	// passed to the evaluation function.
	EvaluationFunction string `json:"evaluationFunction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EvaluationFunction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluationFunction") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CustomCodeExecutionSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomCodeExecutionSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CustomJob: 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 GoogleCloudAiplatformV1CustomJob struct {
	// CreateTime: Output only. Time when the CustomJob was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EndTime: Output only. Time when the CustomJob entered any of the following
	// states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. Only populated when job's state is `JOB_STATE_FAILED` or
	// `JOB_STATE_CANCELLED`.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// JobSpec: Required. Job spec.
	JobSpec *GoogleCloudAiplatformV1CustomJobSpec `json:"jobSpec,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. Resource name of a CustomJob.
	Name string `json:"name,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// StartTime: Output only. Time when the CustomJob for the first time entered
	// the `JOB_STATE_RUNNING` state.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the job.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Time when the CustomJob was most recently updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// WebAccessUris: 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 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 `json:"webAccessUris,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CustomJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CustomJobSpec: Represents the spec of a CustomJob.
type GoogleCloudAiplatformV1CustomJobSpec struct {
	// BaseOutputDirectory: 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 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 *GoogleCloudAiplatformV1GcsDestination `json:"baseOutputDirectory,omitempty"`
	// EnableDashboardAccess: 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
	// or Trial.web_access_uris (within HyperparameterTuningJob.trials).
	EnableDashboardAccess bool `json:"enableDashboardAccess,omitempty"`
	// EnableWebAccess: 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 or Trial.web_access_uris
	// (within HyperparameterTuningJob.trials).
	EnableWebAccess bool `json:"enableWebAccess,omitempty"`
	// Experiment: Optional. The Experiment associated with this job. Format:
	// `projects/{project}/locations/{location}/metadataStores/{metadataStores}/cont
	// exts/{experiment-name}`
	Experiment string `json:"experiment,omitempty"`
	// ExperimentRun: Optional. The Experiment Run associated with this job.
	// Format:
	// `projects/{project}/locations/{location}/metadataStores/{metadataStores}/cont
	// exts/{experiment-name}-{experiment-run-name}`
	ExperimentRun string `json:"experimentRun,omitempty"`
	// Models: 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 `json:"models,omitempty"`
	// Network: 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 `json:"network,omitempty"`
	// PersistentResourceId: 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 `json:"persistentResourceId,omitempty"`
	// ProtectedArtifactLocationId: 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 `json:"protectedArtifactLocationId,omitempty"`
	// PscInterfaceConfig: Optional. Configuration for PSC-I for CustomJob.
	PscInterfaceConfig *GoogleCloudAiplatformV1PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// ReservedIpRanges: 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 `json:"reservedIpRanges,omitempty"`
	// Scheduling: Scheduling options for a CustomJob.
	Scheduling *GoogleCloudAiplatformV1Scheduling `json:"scheduling,omitempty"`
	// ServiceAccount: 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 `json:"serviceAccount,omitempty"`
	// Tensorboard: Optional. The name of a Vertex AI Tensorboard resource to which
	// this CustomJob will upload Tensorboard logs. Format:
	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
	Tensorboard string `json:"tensorboard,omitempty"`
	// WorkerPoolSpecs: 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 []*GoogleCloudAiplatformV1WorkerPoolSpec `json:"workerPoolSpecs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaseOutputDirectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaseOutputDirectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CustomJobSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomJobSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CustomOutput: Spec for custom output.
type GoogleCloudAiplatformV1CustomOutput struct {
	// RawOutputs: Output only. List of raw output strings.
	RawOutputs *GoogleCloudAiplatformV1RawOutput `json:"rawOutputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RawOutputs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RawOutputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CustomOutput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomOutput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1CustomOutputFormatConfig: Spec for custom output
// format configuration.
type GoogleCloudAiplatformV1CustomOutputFormatConfig struct {
	// ReturnRawOutput: Optional. Whether to return raw output.
	ReturnRawOutput bool `json:"returnRawOutput,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ReturnRawOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ReturnRawOutput") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1CustomOutputFormatConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomOutputFormatConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DataItem: A piece of data in a Dataset. Could be an
// image, a video, a document or plain text.
type GoogleCloudAiplatformV1DataItem struct {
	// CreateTime: Output only. Timestamp when this DataItem was created.
	CreateTime string `json:"createTime,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. The resource name of the DataItem.
	Name string `json:"name,omitempty"`
	// Payload: 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 dataItemSchemaUri field.
	Payload interface{} `json:"payload,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// UpdateTime: Output only. Timestamp when this DataItem was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DataItem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DataItemView: A container for a single DataItem and
// Annotations on it.
type GoogleCloudAiplatformV1DataItemView struct {
	// Annotations: 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 []*GoogleCloudAiplatformV1Annotation `json:"annotations,omitempty"`
	// DataItem: The DataItem.
	DataItem *GoogleCloudAiplatformV1DataItem `json:"dataItem,omitempty"`
	// HasTruncatedAnnotations: 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 `json:"hasTruncatedAnnotations,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Annotations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Annotations") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DataItemView) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DataItemView
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DataLabelingJob: DataLabelingJob is used to trigger a
// human labeling job on unlabeled data from the following Dataset:
type GoogleCloudAiplatformV1DataLabelingJob struct {
	// ActiveLearningConfig: 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 *GoogleCloudAiplatformV1ActiveLearningConfig `json:"activeLearningConfig,omitempty"`
	// AnnotationLabels: 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 `json:"annotationLabels,omitempty"`
	// CreateTime: Output only. Timestamp when this DataLabelingJob was created.
	CreateTime string `json:"createTime,omitempty"`
	// CurrentSpend: Output only. Estimated cost(in US dollars) that the
	// DataLabelingJob has incurred to date.
	CurrentSpend *GoogleTypeMoney `json:"currentSpend,omitempty"`
	// Datasets: Required. Dataset resource names. Right now we only support
	// labeling from a single Dataset. Format:
	// `projects/{project}/locations/{location}/datasets/{dataset}`
	Datasets []string `json:"datasets,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Error: Output only. DataLabelingJob errors. It is only populated when job's
	// state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Inputs: Required. Input config parameters for the DataLabelingJob.
	Inputs interface{} `json:"inputs,omitempty"`
	// InputsSchemaUri: 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 `json:"inputsSchemaUri,omitempty"`
	// InstructionUri: 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 `json:"instructionUri,omitempty"`
	// LabelerCount: Required. Number of labelers to work on each DataItem.
	LabelerCount int64 `json:"labelerCount,omitempty"`
	// LabelingProgress: Output only. Current labeling job progress percentage
	// scaled in interval [0, 100], indicating the percentage of DataItems that has
	// been finished.
	LabelingProgress int64 `json:"labelingProgress,omitempty"`
	// Labels: 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's title.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Output only. Resource name of the DataLabelingJob.
	Name string `json:"name,omitempty"`
	// SpecialistPools: The SpecialistPools' resource names associated with this
	// job.
	SpecialistPools []string `json:"specialistPools,omitempty"`
	// State: Output only. The detailed state of the job.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Timestamp when this DataLabelingJob was updated
	// most recently.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ActiveLearningConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ActiveLearningConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DataLabelingJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DataLabelingJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Dataset: A collection of DataItems and Annotations on
// them.
type GoogleCloudAiplatformV1Dataset struct {
	// CreateTime: Output only. Timestamp when this Dataset was created.
	CreateTime string `json:"createTime,omitempty"`
	// DataItemCount: Output only. The number of DataItems in this Dataset. Only
	// apply for non-structured Dataset.
	DataItemCount int64 `json:"dataItemCount,omitempty,string"`
	// Description: The description of the Dataset.
	Description string `json:"description,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 title.
	Labels map[string]string `json:"labels,omitempty"`
	// Metadata: Required. Additional information about the Dataset.
	Metadata interface{} `json:"metadata,omitempty"`
	// MetadataArtifact: 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}/arti
	// facts/{artifact}`.
	MetadataArtifact string `json:"metadataArtifact,omitempty"`
	// MetadataSchemaUri: 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 `json:"metadataSchemaUri,omitempty"`
	// ModelReference: Optional. Reference to the public base model last used by
	// the dataset. Only set for prompt datasets.
	ModelReference string `json:"modelReference,omitempty"`
	// Name: Output only. Identifier. The resource name of the Dataset. Format:
	// `projects/{project}/locations/{location}/datasets/{dataset}`
	Name string `json:"name,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// SavedQueries: 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. 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 []*GoogleCloudAiplatformV1SavedQuery `json:"savedQueries,omitempty"`
	// UpdateTime: Output only. Timestamp when this Dataset was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Dataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Dataset
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DatasetCustomMetric: Defines a custom dataset-level
// aggregation.
type GoogleCloudAiplatformV1DatasetCustomMetric struct {
	// AggregationFunction: Required. The Python code string containing the
	// aggregation function. Expected function signature: `def aggregate(instances:
	// list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a
	// list of dictionaries, where each dictionary represents a single evaluation
	// result item. The structure of each dictionary corresponds to the fields in
	// the `EvaluationResult` message. This includes: - "request": Contains the
	// original input data and model inputs (from
	// `EvaluationResult.EvaluationRequest`). - "candidate_results": Contains the
	// results of any instance-level metrics (from
	// `EvaluationResult.CandidateResults`). Example of a single item in the
	// `instances` list: { "request": { "prompt": {"text": "What is the capital of
	// France?"}, "golden_response": {"text": "Paris"}, "candidate_responses":
	// [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [
	// {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ]
	// }
	AggregationFunction string `json:"aggregationFunction,omitempty"`
	// DisplayName: Optional. A display name for this custom summary metric. Used
	// to prefix keys in the output summaryMetrics map. If not provided, a default
	// name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will
	// be generated based on the order in the repeated field.
	DisplayName string `json:"displayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AggregationFunction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AggregationFunction") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DatasetCustomMetric) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DatasetCustomMetric
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DatasetDistribution: Distribution computed over a
// tuning dataset.
type GoogleCloudAiplatformV1DatasetDistribution struct {
	// Buckets: Output only. Defines the histogram bucket.
	Buckets []*GoogleCloudAiplatformV1DatasetDistributionDistributionBucket `json:"buckets,omitempty"`
	// Max: Output only. The maximum of the population values.
	Max float64 `json:"max,omitempty"`
	// Mean: Output only. The arithmetic mean of the values in the population.
	Mean float64 `json:"mean,omitempty"`
	// Median: Output only. The median of the values in the population.
	Median float64 `json:"median,omitempty"`
	// Min: Output only. The minimum of the population values.
	Min float64 `json:"min,omitempty"`
	// P5: Output only. The 5th percentile of the values in the population.
	P5 float64 `json:"p5,omitempty"`
	// P95: Output only. The 95th percentile of the values in the population.
	P95 float64 `json:"p95,omitempty"`
	// Sum: Output only. Sum of a given population of values.
	Sum float64 `json:"sum,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Buckets") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Buckets") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DatasetDistribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DatasetDistribution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1DatasetDistribution) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1DatasetDistribution
	var s1 struct {
		Max    gensupport.JSONFloat64 `json:"max"`
		Mean   gensupport.JSONFloat64 `json:"mean"`
		Median gensupport.JSONFloat64 `json:"median"`
		Min    gensupport.JSONFloat64 `json:"min"`
		P5     gensupport.JSONFloat64 `json:"p5"`
		P95    gensupport.JSONFloat64 `json:"p95"`
		Sum    gensupport.JSONFloat64 `json:"sum"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Max = float64(s1.Max)
	s.Mean = float64(s1.Mean)
	s.Median = float64(s1.Median)
	s.Min = float64(s1.Min)
	s.P5 = float64(s1.P5)
	s.P95 = float64(s1.P95)
	s.Sum = float64(s1.Sum)
	return nil
}

// GoogleCloudAiplatformV1DatasetDistributionDistributionBucket: Dataset bucket
// used to create a histogram for the distribution given a population of
// values.
type GoogleCloudAiplatformV1DatasetDistributionDistributionBucket struct {
	// Count: Output only. Number of values in the bucket.
	Count int64 `json:"count,omitempty,string"`
	// Left: Output only. Left bound of the bucket.
	Left float64 `json:"left,omitempty"`
	// Right: Output only. Right bound of the bucket.
	Right float64 `json:"right,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Count") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DatasetDistributionDistributionBucket) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DatasetDistributionDistributionBucket
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1DatasetDistributionDistributionBucket) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1DatasetDistributionDistributionBucket
	var s1 struct {
		Left  gensupport.JSONFloat64 `json:"left"`
		Right gensupport.JSONFloat64 `json:"right"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Left = float64(s1.Left)
	s.Right = float64(s1.Right)
	return nil
}

// GoogleCloudAiplatformV1DatasetVersion: Describes the dataset version.
type GoogleCloudAiplatformV1DatasetVersion struct {
	// BigQueryDatasetName: Output only. Name of the associated BigQuery dataset.
	BigQueryDatasetName string `json:"bigQueryDatasetName,omitempty"`
	// CreateTime: Output only. Timestamp when this DatasetVersion was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: The user-defined name of the DatasetVersion. The name can be up
	// to 128 characters long and can consist of any UTF-8 characters.
	DisplayName string `json:"displayName,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Metadata: Required. Output only. Additional information about the
	// DatasetVersion.
	Metadata interface{} `json:"metadata,omitempty"`
	// ModelReference: Output only. Reference to the public base model last used by
	// the dataset version. Only set for prompt dataset versions.
	ModelReference string `json:"modelReference,omitempty"`
	// Name: Output only. Identifier. The resource name of the DatasetVersion.
	// Format:
	// `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{
	// dataset_version}`
	Name string `json:"name,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// UpdateTime: Output only. Timestamp when this DatasetVersion was last
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BigQueryDatasetName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigQueryDatasetName") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DatasetVersion) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DatasetVersion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DedicatedResources: A description of resources that
// are dedicated to a DeployedModel or DeployedIndex, and that need a higher
// degree of manual configuration.
type GoogleCloudAiplatformV1DedicatedResources struct {
	// AutoscalingMetricSpecs: 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 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 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 to
	// `aiplatform.googleapis.com/prediction/online/cpu/utilization` and
	// autoscaling_metric_specs.target to `80`.
	AutoscalingMetricSpecs []*GoogleCloudAiplatformV1AutoscalingMetricSpec `json:"autoscalingMetricSpecs,omitempty"`
	// MachineSpec: Required. Immutable. The specification of a single machine
	// being used.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// MaxReplicaCount: Immutable. The maximum number of replicas that 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 to that many replicas is guaranteed (barring service
	// outages). If traffic 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 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 int64 `json:"maxReplicaCount,omitempty"`
	// MinReplicaCount: Required. Immutable. The minimum number of machine replicas
	// that will be always deployed on. This value must be greater than or equal to
	// 1. If traffic increases, it may dynamically be deployed onto more replicas,
	// and as traffic decreases, some of these extra replicas may be freed.
	MinReplicaCount int64 `json:"minReplicaCount,omitempty"`
	// RequiredReplicaCount: Optional. Number of required available replicas for
	// the deployment to succeed. This field is only needed when partial
	// deployment/mutation is desired. If set, the deploy/mutate operation will
	// succeed once available_replica_count reaches required_replica_count, and the
	// rest of the replicas will be retried. If not set, the default
	// required_replica_count will be min_replica_count.
	RequiredReplicaCount int64 `json:"requiredReplicaCount,omitempty"`
	// Spot: Optional. If true, schedule the deployment workload on spot VMs
	// (https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).
	Spot bool `json:"spot,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoscalingMetricSpecs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoscalingMetricSpecs") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DedicatedResources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DedicatedResources
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata: Details of
// operations that delete Feature values.
type GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata struct {
	// GenericMetadata: Operation metadata for Featurestore delete Features values.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteFeatureValuesRequest: Request message for
// FeaturestoreService.DeleteFeatureValues.
type GoogleCloudAiplatformV1DeleteFeatureValuesRequest struct {
	// SelectEntity: Select feature values to be deleted by specifying entities.
	SelectEntity *GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity `json:"selectEntity,omitempty"`
	// SelectTimeRangeAndFeature: Select feature values to be deleted by specifying
	// time range and features.
	SelectTimeRangeAndFeature *GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature `json:"selectTimeRangeAndFeature,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SelectEntity") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SelectEntity") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity: 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 GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity struct {
	// EntityIdSelector: Required. Selectors choosing feature values of which
	// entity id to be deleted from the EntityType.
	EntityIdSelector *GoogleCloudAiplatformV1EntityIdSelector `json:"entityIdSelector,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntityIdSelector") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityIdSelector") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature:
// 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 GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature struct {
	// FeatureSelector: Required. Selectors choosing which feature values to be
	// deleted from the EntityType.
	FeatureSelector *GoogleCloudAiplatformV1FeatureSelector `json:"featureSelector,omitempty"`
	// SkipOnlineStorageDelete: 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 `json:"skipOnlineStorageDelete,omitempty"`
	// TimeRange: Required. Select feature generated within a half-inclusive time
	// range. The time range is lower inclusive and upper exclusive.
	TimeRange *GoogleTypeInterval `json:"timeRange,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FeatureSelector") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureSelector") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteFeatureValuesResponse: Response message for
// FeaturestoreService.DeleteFeatureValues.
type GoogleCloudAiplatformV1DeleteFeatureValuesResponse struct {
	// SelectEntity: Response for request specifying the entities to delete
	SelectEntity *GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity `json:"selectEntity,omitempty"`
	// SelectTimeRangeAndFeature: Response for request specifying time range and
	// feature
	SelectTimeRangeAndFeature *GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature `json:"selectTimeRangeAndFeature,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SelectEntity") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SelectEntity") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteFeatureValuesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity: Response
// message if the request uses the SelectEntity option.
type GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity struct {
	// OfflineStorageDeletedEntityRowCount: 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 `json:"offlineStorageDeletedEntityRowCount,omitempty,string"`
	// OnlineStorageDeletedEntityCount: The count of deleted entities in the online
	// storage. Each entity ID corresponds to one entity.
	OnlineStorageDeletedEntityCount int64 `json:"onlineStorageDeletedEntityCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g.
	// "OfflineStorageDeletedEntityRowCount") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "OfflineStorageDeletedEntityRowCount") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature:
// Response message if the request uses the SelectTimeRangeAndFeature option.
type GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature struct {
	// ImpactedFeatureCount: The count of the features or columns impacted. This is
	// the same as the feature count in the request.
	ImpactedFeatureCount int64 `json:"impactedFeatureCount,omitempty,string"`
	// OfflineStorageModifiedEntityRowCount: 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 `json:"offlineStorageModifiedEntityRowCount,omitempty,string"`
	// OnlineStorageModifiedEntityCount: 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 `json:"onlineStorageModifiedEntityCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ImpactedFeatureCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImpactedFeatureCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata: Details of
// operations that perform MetadataService.DeleteMetadataStore.
type GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata struct {
	// GenericMetadata: Operation metadata for deleting a MetadataStore.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeleteOperationMetadata: Details of operations that
// perform deletes of any entities.
type GoogleCloudAiplatformV1DeleteOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeleteOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployIndexOperationMetadata: Runtime operation
// information for IndexEndpointService.DeployIndex.
type GoogleCloudAiplatformV1DeployIndexOperationMetadata struct {
	// DeployedIndexId: The unique index id specified by user
	DeployedIndexId string `json:"deployedIndexId,omitempty"`
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndexId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndexId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployIndexOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployIndexRequest: Request message for
// IndexEndpointService.DeployIndex.
type GoogleCloudAiplatformV1DeployIndexRequest struct {
	// DeployedIndex: Required. The DeployedIndex to be created within the
	// IndexEndpoint.
	DeployedIndex *GoogleCloudAiplatformV1DeployedIndex `json:"deployedIndex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndex") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployIndexRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployIndexRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployIndexResponse: Response message for
// IndexEndpointService.DeployIndex.
type GoogleCloudAiplatformV1DeployIndexResponse struct {
	// DeployedIndex: The DeployedIndex that had been deployed in the
	// IndexEndpoint.
	DeployedIndex *GoogleCloudAiplatformV1DeployedIndex `json:"deployedIndex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndex") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployIndexResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployIndexResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployModelOperationMetadata: Runtime operation
// information for EndpointService.DeployModel.
type GoogleCloudAiplatformV1DeployModelOperationMetadata struct {
	// DeploymentStage: Output only. The deployment stage of the model.
	//
	// Possible values:
	//   "DEPLOYMENT_STAGE_UNSPECIFIED" - Default value. This value is unused.
	//   "STARTING_DEPLOYMENT" - The deployment is initializing and setting up the
	// environment.
	//   "PREPARING_MODEL" - The deployment is preparing the model assets.
	//   "CREATING_SERVING_CLUSTER" - The deployment is creating the underlying
	// serving cluster.
	//   "ADDING_NODES_TO_CLUSTER" - The deployment is adding nodes to the serving
	// cluster.
	//   "GETTING_CONTAINER_IMAGE" - The deployment is getting the container image
	// for the model server.
	//   "STARTING_MODEL_SERVER" - The deployment is starting the model server.
	//   "FINISHING_UP" - The deployment is performing finalization steps.
	//   "DEPLOYMENT_TERMINATED" - The deployment has terminated.
	//   "SUCCESSFULLY_DEPLOYED" - The deployment has succeeded.
	//   "FAILED_TO_DEPLOY" - The deployment has failed.
	DeploymentStage string `json:"deploymentStage,omitempty"`
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeploymentStage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeploymentStage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployModelOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployModelRequest: Request message for
// EndpointService.DeployModel.
type GoogleCloudAiplatformV1DeployModelRequest struct {
	// DeployedModel: Required. The DeployedModel to be created within the
	// Endpoint. Note that Endpoint.traffic_split must be updated for the
	// DeployedModel to start receiving traffic, either as part of this call, or
	// via EndpointService.UpdateEndpoint.
	DeployedModel *GoogleCloudAiplatformV1DeployedModel `json:"deployedModel,omitempty"`
	// TrafficSplit: 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 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 is not updated.
	TrafficSplit map[string]int64 `json:"trafficSplit,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployModelRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployModelResponse: Response message for
// EndpointService.DeployModel.
type GoogleCloudAiplatformV1DeployModelResponse struct {
	// DeployedModel: The DeployedModel that had been deployed in the Endpoint.
	DeployedModel *GoogleCloudAiplatformV1DeployedModel `json:"deployedModel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployModelResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployOperationMetadata: Runtime operation
// information for ModelGardenService.Deploy.
type GoogleCloudAiplatformV1DeployOperationMetadata struct {
	// Destination: Output only. The resource name of the Location to deploy the
	// model in. Format: `projects/{project}/locations/{location}`
	Destination string `json:"destination,omitempty"`
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ModelId: Output only. The model id to be used at query time.
	ModelId string `json:"modelId,omitempty"`
	// ProjectNumber: Output only. The project number where the deploy model
	// request is sent.
	ProjectNumber int64 `json:"projectNumber,omitempty,string"`
	// PublisherModel: Output only. The name of the model resource.
	PublisherModel string `json:"publisherModel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Destination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Destination") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployRequest: Request message for
// ModelGardenService.Deploy.
type GoogleCloudAiplatformV1DeployRequest struct {
	// DeployConfig: Optional. The deploy config to use for the deployment. If not
	// specified, the default deploy config will be used.
	DeployConfig *GoogleCloudAiplatformV1DeployRequestDeployConfig `json:"deployConfig,omitempty"`
	// EndpointConfig: Optional. The endpoint config to use for the deployment. If
	// not specified, the default endpoint config will be used.
	EndpointConfig *GoogleCloudAiplatformV1DeployRequestEndpointConfig `json:"endpointConfig,omitempty"`
	// HuggingFaceModelId: The Hugging Face model to deploy. Format: Hugging Face
	// model ID like `google/gemma-2-2b-it`.
	HuggingFaceModelId string `json:"huggingFaceModelId,omitempty"`
	// ModelConfig: Optional. The model config to use for the deployment. If not
	// specified, the default model config will be used.
	ModelConfig *GoogleCloudAiplatformV1DeployRequestModelConfig `json:"modelConfig,omitempty"`
	// PublisherModelName: The Model Garden model to deploy. Format:
	// `publishers/{publisher}/models/{publisher_model}@{version_id}`, or
	// `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`.
	PublisherModelName string `json:"publisherModelName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployRequestDeployConfig: The deploy config to use
// for the deployment.
type GoogleCloudAiplatformV1DeployRequestDeployConfig struct {
	// DedicatedResources: Optional. The dedicated resources to use for the
	// endpoint. If not set, the default resources will be used.
	DedicatedResources *GoogleCloudAiplatformV1DedicatedResources `json:"dedicatedResources,omitempty"`
	// FastTryoutEnabled: Optional. If true, enable the QMT fast tryout feature for
	// this model if possible.
	FastTryoutEnabled bool `json:"fastTryoutEnabled,omitempty"`
	// SystemLabels: Optional. System labels for Model Garden deployments. These
	// labels are managed by Google and for tracking purposes only.
	SystemLabels map[string]string `json:"systemLabels,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DedicatedResources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DedicatedResources") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployRequestDeployConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployRequestDeployConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployRequestEndpointConfig: The endpoint config to
// use for the deployment.
type GoogleCloudAiplatformV1DeployRequestEndpointConfig struct {
	// DedicatedEndpointDisabled: Optional. By default, if dedicated endpoint is
	// enabled and private service connect config is not set, the endpoint will be
	// exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. If
	// private service connect config is set, the endpoint will be exposed through
	// private service connect. Your request to the dedicated DNS will be isolated
	// from other users' traffic and will have better performance and reliability.
	// Note: Once you enabled dedicated endpoint, you won't be able to send request
	// to the shared DNS {region}-aiplatform.googleapis.com. The limitations will
	// be removed soon. If this field is set to true, the dedicated endpoint will
	// be disabled and the deployed model will be exposed through the shared DNS
	// {region}-aiplatform.googleapis.com.
	DedicatedEndpointDisabled bool `json:"dedicatedEndpointDisabled,omitempty"`
	// DedicatedEndpointEnabled: Optional. Deprecated. Use
	// dedicated_endpoint_disabled instead. If true, the endpoint will be exposed
	// through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to
	// the dedicated DNS will be isolated from other users' traffic and will have
	// better performance and reliability. Note: Once you enabled dedicated
	// endpoint, you won't be able to send request to the shared DNS
	// {region}-aiplatform.googleapis.com. The limitations will be removed soon.
	DedicatedEndpointEnabled bool `json:"dedicatedEndpointEnabled,omitempty"`
	// EndpointDisplayName: Optional. The user-specified display name of the
	// endpoint. If not set, a default name will be used.
	EndpointDisplayName string `json:"endpointDisplayName,omitempty"`
	// EndpointUserId: Optional. 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.
	EndpointUserId string `json:"endpointUserId,omitempty"`
	// Labels: Optional. 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 `json:"labels,omitempty"`
	// PrivateServiceConnectConfig: Optional. Configuration for private service
	// connect. If set, the endpoint will be exposed through private service
	// connect.
	PrivateServiceConnectConfig *GoogleCloudAiplatformV1PrivateServiceConnectConfig `json:"privateServiceConnectConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DedicatedEndpointDisabled")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DedicatedEndpointDisabled") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployRequestEndpointConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployRequestEndpointConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployRequestModelConfig: The model config to use for
// the deployment.
type GoogleCloudAiplatformV1DeployRequestModelConfig struct {
	// AcceptEula: Optional. Whether the user accepts the End User License
	// Agreement (EULA) for the model.
	AcceptEula bool `json:"acceptEula,omitempty"`
	// ContainerSpec: Optional. The specification of the container that is to be
	// used when deploying. If not set, the default container spec will be used.
	ContainerSpec *GoogleCloudAiplatformV1ModelContainerSpec `json:"containerSpec,omitempty"`
	// HuggingFaceAccessToken: Optional. The Hugging Face read access token used to
	// access the model artifacts of gated models.
	HuggingFaceAccessToken string `json:"huggingFaceAccessToken,omitempty"`
	// HuggingFaceCacheEnabled: Optional. If true, the model will deploy with a
	// cached version instead of directly downloading the model artifacts from
	// Hugging Face. This is suitable for VPC-SC users with limited internet
	// access.
	HuggingFaceCacheEnabled bool `json:"huggingFaceCacheEnabled,omitempty"`
	// ModelDisplayName: Optional. The user-specified display name of the uploaded
	// model. If not set, a default name will be used.
	ModelDisplayName string `json:"modelDisplayName,omitempty"`
	// ModelUserId: Optional. The ID to use for the uploaded Model, which will
	// become the final component of the model resource name. When not provided,
	// Vertex AI will generate a value for this ID. When Model Registry model is
	// provided, this field will be ignored. This value may be up to 63 characters,
	// and valid characters are `[a-z0-9_-]`. The first character cannot be a
	// number or hyphen.
	ModelUserId string `json:"modelUserId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AcceptEula") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AcceptEula") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployRequestModelConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployRequestModelConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployResponse: Response message for
// ModelGardenService.Deploy.
type GoogleCloudAiplatformV1DeployResponse struct {
	// Endpoint: Output only. The name of the Endpoint created. Format:
	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
	Endpoint string `json:"endpoint,omitempty"`
	// Model: Output only. The name of the Model created. Format:
	// `projects/{project}/locations/{location}/models/{model}`
	Model string `json:"model,omitempty"`
	// PublisherModel: Output only. The name of the PublisherModel resource.
	// Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or
	// `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`
	PublisherModel string `json:"publisherModel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Endpoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Endpoint") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployedIndex: A deployment of an Index.
// IndexEndpoints contain one or more DeployedIndexes.
type GoogleCloudAiplatformV1DeployedIndex struct {
	// AutomaticResources: 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 *GoogleCloudAiplatformV1AutomaticResources `json:"automaticResources,omitempty"`
	// CreateTime: Output only. Timestamp when the DeployedIndex was created.
	CreateTime string `json:"createTime,omitempty"`
	// DedicatedResources: 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 *GoogleCloudAiplatformV1DedicatedResources `json:"dedicatedResources,omitempty"`
	// DeployedIndexAuthConfig: Optional. If set, the authentication is enabled for
	// the private endpoint.
	DeployedIndexAuthConfig *GoogleCloudAiplatformV1DeployedIndexAuthConfig `json:"deployedIndexAuthConfig,omitempty"`
	// DeploymentGroup: 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 `json:"deploymentGroup,omitempty"`
	// DeploymentTier: Optional. The deployment tier that the index is deployed to.
	// DEPLOYMENT_TIER_UNSPECIFIED will use a system-chosen default tier.
	//
	// Possible values:
	//   "DEPLOYMENT_TIER_UNSPECIFIED" - Default deployment tier.
	//   "STORAGE" - Optimized for costs.
	DeploymentTier string `json:"deploymentTier,omitempty"`
	// DisplayName: The display name of the DeployedIndex. If not provided upon
	// creation, the Index's display_name is used.
	DisplayName string `json:"displayName,omitempty"`
	// EnableAccessLogging: 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 `json:"enableAccessLogging,omitempty"`
	// EnableDatapointUpsertLogging: Optional. If true, logs to Cloud Logging
	// errors relating to datapoint upserts. Under normal operation conditions,
	// these log entries should be very rare. However, if incompatible datapoint
	// updates are being uploaded to an index, a high volume of log entries may be
	// generated in a short period of time. Note that logs may incur a cost,
	// especially if the deployed index receives a high volume of datapoint
	// upserts. Estimate your costs before enabling this option.
	EnableDatapointUpsertLogging bool `json:"enableDatapointUpsertLogging,omitempty"`
	// Id: 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 `json:"id,omitempty"`
	// Index: 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 `json:"index,omitempty"`
	// IndexSyncTime: 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
	// 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
	// the operations that are running on the original Index. Only the successfully
	// completed Operations with update_time equal or before this sync time are
	// contained in this DeployedIndex.
	IndexSyncTime string `json:"indexSyncTime,omitempty"`
	// PrivateEndpoints: 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 is configured.
	PrivateEndpoints *GoogleCloudAiplatformV1IndexPrivateEndpoints `json:"privateEndpoints,omitempty"`
	// PscAutomationConfigs: Optional. If set for PSC deployed index, PSC
	// connection will be automatically created after deployment is done and the
	// endpoint information is populated in
	// private_endpoints.psc_automated_endpoints.
	PscAutomationConfigs []*GoogleCloudAiplatformV1PSCAutomationConfig `json:"pscAutomationConfigs,omitempty"`
	// ReservedIpRanges: 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 `json:"reservedIpRanges,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutomaticResources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutomaticResources") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployedIndex) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndex
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployedIndexAuthConfig: Used to set up the auth on
// the DeployedIndex's private endpoint.
type GoogleCloudAiplatformV1DeployedIndexAuthConfig struct {
	// AuthProvider: Defines the authentication provider that the DeployedIndex
	// uses.
	AuthProvider *GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider `json:"authProvider,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthProvider") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthProvider") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployedIndexAuthConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndexAuthConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider: 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 GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider struct {
	// AllowedIssuers: 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 `json:"allowedIssuers,omitempty"`
	// Audiences: 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 `json:"audiences,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllowedIssuers") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllowedIssuers") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployedIndexRef: Points to a DeployedIndex.
type GoogleCloudAiplatformV1DeployedIndexRef struct {
	// DeployedIndexId: Immutable. The ID of the DeployedIndex in the above
	// IndexEndpoint.
	DeployedIndexId string `json:"deployedIndexId,omitempty"`
	// DisplayName: Output only. The display name of the DeployedIndex.
	DisplayName string `json:"displayName,omitempty"`
	// IndexEndpoint: Immutable. A resource name of the IndexEndpoint.
	IndexEndpoint string `json:"indexEndpoint,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndexId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndexId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployedIndexRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndexRef
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployedModel: A deployment of a Model. Endpoints
// contain one or more DeployedModels.
type GoogleCloudAiplatformV1DeployedModel struct {
	// AutomaticResources: A description of resources that to large degree are
	// decided by Vertex AI, and require only a modest additional configuration.
	AutomaticResources *GoogleCloudAiplatformV1AutomaticResources `json:"automaticResources,omitempty"`
	// CheckpointId: The checkpoint id of the model.
	CheckpointId string `json:"checkpointId,omitempty"`
	// CreateTime: Output only. Timestamp when the DeployedModel was created.
	CreateTime string `json:"createTime,omitempty"`
	// DedicatedResources: A description of resources that are dedicated to the
	// DeployedModel, and that need a higher degree of manual configuration.
	DedicatedResources *GoogleCloudAiplatformV1DedicatedResources `json:"dedicatedResources,omitempty"`
	// DisableContainerLogging: 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 `json:"disableContainerLogging,omitempty"`
	// DisableExplanations: If true, deploy the model without explainable feature,
	// regardless the existence of Model.explanation_spec or explanation_spec.
	DisableExplanations bool `json:"disableExplanations,omitempty"`
	// DisplayName: The display name of the DeployedModel. If not provided upon
	// creation, the Model's display_name is used.
	DisplayName string `json:"displayName,omitempty"`
	// EnableAccessLogging: 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 `json:"enableAccessLogging,omitempty"`
	// ExplanationSpec: Explanation configuration for this DeployedModel. When
	// deploying a Model using EndpointService.DeployModel, this value overrides
	// the value of Model.explanation_spec. All fields of explanation_spec are
	// optional in the request. If a field of explanation_spec is not populated,
	// the value of the same field of Model.explanation_spec is inherited. If the
	// corresponding Model.explanation_spec is not populated, all fields of the
	// explanation_spec will be used for the explanation configuration.
	ExplanationSpec *GoogleCloudAiplatformV1ExplanationSpec `json:"explanationSpec,omitempty"`
	// FasterDeploymentConfig: Configuration for faster model deployment.
	FasterDeploymentConfig *GoogleCloudAiplatformV1FasterDeploymentConfig `json:"fasterDeploymentConfig,omitempty"`
	// GdcConnectedModel: GDC pretrained / Gemini model name. The model name is a
	// plain model name, e.g. gemini-1.5-flash-002.
	GdcConnectedModel string `json:"gdcConnectedModel,omitempty"`
	// Id: 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 `json:"id,omitempty"`
	// Model: 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 `json:"model,omitempty"`
	// ModelVersionId: Output only. The version ID of the model that is deployed.
	ModelVersionId string `json:"modelVersionId,omitempty"`
	// PrivateEndpoints: 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 is configured.
	PrivateEndpoints *GoogleCloudAiplatformV1PrivateEndpoints `json:"privateEndpoints,omitempty"`
	// ServiceAccount: 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 `json:"serviceAccount,omitempty"`
	// SharedResources: The resource name of the shared DeploymentResourcePool to
	// deploy on. Format:
	// `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_
	// resource_pool}`
	SharedResources string `json:"sharedResources,omitempty"`
	// SpeculativeDecodingSpec: Optional. Spec for configuring speculative
	// decoding.
	SpeculativeDecodingSpec *GoogleCloudAiplatformV1SpeculativeDecodingSpec `json:"speculativeDecodingSpec,omitempty"`
	// Status: Output only. Runtime status of the deployed model.
	Status *GoogleCloudAiplatformV1DeployedModelStatus `json:"status,omitempty"`
	// SystemLabels: System labels to apply to Model Garden deployments. System
	// labels are managed by Google for internal use only.
	SystemLabels map[string]string `json:"systemLabels,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutomaticResources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutomaticResources") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployedModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedModel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployedModelRef: Points to a DeployedModel.
type GoogleCloudAiplatformV1DeployedModelRef struct {
	// CheckpointId: Immutable. The ID of the Checkpoint deployed in the
	// DeployedModel.
	CheckpointId string `json:"checkpointId,omitempty"`
	// DeployedModelId: Immutable. An ID of a DeployedModel in the above Endpoint.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// Endpoint: Immutable. A resource name of an Endpoint.
	Endpoint string `json:"endpoint,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CheckpointId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CheckpointId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployedModelRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedModelRef
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeployedModelStatus: Runtime status of the deployed
// model.
type GoogleCloudAiplatformV1DeployedModelStatus struct {
	// AvailableReplicaCount: Output only. The number of available replicas of the
	// deployed model.
	AvailableReplicaCount int64 `json:"availableReplicaCount,omitempty"`
	// LastUpdateTime: Output only. The time at which the status was last updated.
	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
	// Message: Output only. The latest deployed model's status message (if any).
	Message string `json:"message,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvailableReplicaCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvailableReplicaCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeployedModelStatus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedModelStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DeploymentResourcePool: A description of resources
// that can be shared by multiple DeployedModels, whose underlying
// specification consists of a DedicatedResources.
type GoogleCloudAiplatformV1DeploymentResourcePool struct {
	// CreateTime: Output only. Timestamp when this DeploymentResourcePool was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// DedicatedResources: Required. The underlying DedicatedResources that the
	// DeploymentResourcePool uses.
	DedicatedResources *GoogleCloudAiplatformV1DedicatedResources `json:"dedicatedResources,omitempty"`
	// DisableContainerLogging: If the DeploymentResourcePool is deployed with
	// custom-trained Models or AutoML Tabular Models, the container(s) of the
	// DeploymentResourcePool 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 `json:"disableContainerLogging,omitempty"`
	// EncryptionSpec: Customer-managed encryption key spec for a
	// DeploymentResourcePool. If set, this DeploymentResourcePool will be secured
	// by this key. Endpoints and the DeploymentResourcePool they deploy in need to
	// have the same EncryptionSpec.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Name: Immutable. The resource name of the DeploymentResourcePool. Format:
	// `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_
	// resource_pool}`
	Name string `json:"name,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// ServiceAccount: The service account that the DeploymentResourcePool's
	// container(s) run as. Specify the email address of the service account. If
	// this service account is not specified, the container(s) run as a service
	// account that doesn't have access to the resource project. Users deploying
	// the Models to this DeploymentResourcePool must have the
	// `iam.serviceAccounts.actAs` permission on this service account.
	ServiceAccount string `json:"serviceAccount,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DeploymentResourcePool) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeploymentResourcePool
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1DestinationFeatureSetting struct {
	// DestinationField: Specify the field name in the export destination. If not
	// specified, Feature ID is used.
	DestinationField string `json:"destinationField,omitempty"`
	// FeatureId: Required. The ID of the Feature to apply the setting to.
	FeatureId string `json:"featureId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DestinationField") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DestinationField") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DestinationFeatureSetting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DestinationFeatureSetting
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DirectPredictRequest: Request message for
// PredictionService.DirectPredict.
type GoogleCloudAiplatformV1DirectPredictRequest struct {
	// Inputs: The prediction input.
	Inputs []*GoogleCloudAiplatformV1Tensor `json:"inputs,omitempty"`
	// Parameters: The parameters that govern the prediction.
	Parameters *GoogleCloudAiplatformV1Tensor `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DirectPredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DirectPredictRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DirectPredictResponse: Response message for
// PredictionService.DirectPredict.
type GoogleCloudAiplatformV1DirectPredictResponse struct {
	// Outputs: The prediction output.
	Outputs []*GoogleCloudAiplatformV1Tensor `json:"outputs,omitempty"`
	// Parameters: The parameters that govern the prediction.
	Parameters *GoogleCloudAiplatformV1Tensor `json:"parameters,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Outputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Outputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DirectPredictResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DirectPredictResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DirectRawPredictRequest: Request message for
// PredictionService.DirectRawPredict.
type GoogleCloudAiplatformV1DirectRawPredictRequest struct {
	// Input: The prediction input.
	Input string `json:"input,omitempty"`
	// MethodName: Fully qualified name of the API method being invoked to perform
	// predictions. Format: `/namespace.Service/Method/` Example:
	// `/tensorflow.serving.PredictionService/Predict`
	MethodName string `json:"methodName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Input") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Input") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DirectRawPredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DirectRawPredictRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DirectRawPredictResponse: Response message for
// PredictionService.DirectRawPredict.
type GoogleCloudAiplatformV1DirectRawPredictResponse struct {
	// Output: The prediction output.
	Output string `json:"output,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Output") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Output") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DirectRawPredictResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DirectRawPredictResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DirectUploadSource: The input content is encapsulated
// and uploaded in the request.
type GoogleCloudAiplatformV1DirectUploadSource struct {
}

// GoogleCloudAiplatformV1DiskSpec: Represents the spec of disk options.
type GoogleCloudAiplatformV1DiskSpec struct {
	// BootDiskSizeGb: Size in GB of the boot disk (default is 100GB).
	BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"`
	// BootDiskType: Type of the boot disk. For non-A3U machines, the default value
	// is "pd-ssd", for A3U machines, the default value is "hyperdisk-balanced".
	// Valid values: "pd-ssd" (Persistent Disk Solid State Drive), "pd-standard"
	// (Persistent Disk Hard Disk Drive) or "hyperdisk-balanced".
	BootDiskType string `json:"bootDiskType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BootDiskSizeGb") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BootDiskSizeGb") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DiskSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DiskSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DnsPeeringConfig: DNS peering configuration. These
// configurations are used to create DNS peering zones in the Vertex tenant
// project VPC, enabling resolution of records within the specified domain
// hosted in the target network's Cloud DNS.
type GoogleCloudAiplatformV1DnsPeeringConfig struct {
	// Domain: Required. The DNS name suffix of the zone being peered to, e.g.,
	// "my-internal-domain.corp.". Must end with a dot.
	Domain string `json:"domain,omitempty"`
	// TargetNetwork: Required. The VPC network name in the target_project where
	// the DNS zone specified by 'domain' is visible.
	TargetNetwork string `json:"targetNetwork,omitempty"`
	// TargetProject: Required. The project ID hosting the Cloud DNS managed zone
	// that contains the 'domain'. The Vertex AI Service Agent requires the
	// dns.peer role on this project.
	TargetProject string `json:"targetProject,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Domain") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DnsPeeringConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DnsPeeringConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1DoubleArray: A list of double values.
type GoogleCloudAiplatformV1DoubleArray struct {
	// Values: A list of double values.
	Values []float64 `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DoubleArray) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DoubleArray
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1DoubleArray) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1DoubleArray
	var s1 struct {
		Values []gensupport.JSONFloat64 `json:"values"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Values = make([]float64, len(s1.Values))
	for i := range s1.Values {
		s.Values[i] = float64(s1.Values[i])
	}
	return nil
}

// GoogleCloudAiplatformV1DynamicRetrievalConfig: Describes the options to
// customize dynamic retrieval.
type GoogleCloudAiplatformV1DynamicRetrievalConfig struct {
	// DynamicThreshold: Optional. The threshold to be used in dynamic retrieval.
	// If not set, a system default value is used.
	DynamicThreshold float64 `json:"dynamicThreshold,omitempty"`
	// Mode: The mode of the predictor to be used in dynamic retrieval.
	//
	// Possible values:
	//   "MODE_UNSPECIFIED" - Always trigger retrieval.
	//   "MODE_DYNAMIC" - Run retrieval only when system decides it is necessary.
	Mode string `json:"mode,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DynamicThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DynamicThreshold") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1DynamicRetrievalConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DynamicRetrievalConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1DynamicRetrievalConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1DynamicRetrievalConfig
	var s1 struct {
		DynamicThreshold gensupport.JSONFloat64 `json:"dynamicThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DynamicThreshold = float64(s1.DynamicThreshold)
	return nil
}

// GoogleCloudAiplatformV1EmbedContentRequest: Request message for
// PredictionService.EmbedContent.
type GoogleCloudAiplatformV1EmbedContentRequest struct {
	// AutoTruncate: Optional. Deprecated: Please use
	// EmbedContentConfig.auto_truncate instead. Whether to silently truncate the
	// input content if it's longer than the maximum sequence length.
	AutoTruncate bool `json:"autoTruncate,omitempty"`
	// Content: Required. The content to be embedded.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// EmbedContentConfig: Optional. Configuration for the EmbedContent request.
	EmbedContentConfig *GoogleCloudAiplatformV1EmbedContentRequestEmbedContentConfig `json:"embedContentConfig,omitempty"`
	// OutputDimensionality: Optional. Deprecated: Please use
	// EmbedContentConfig.output_dimensionality instead. Reduced dimension for the
	// output embedding. If set, excessive values in the output embedding are
	// truncated from the end.
	OutputDimensionality int64 `json:"outputDimensionality,omitempty"`
	// TaskType: Optional. Deprecated: Please use EmbedContentConfig.task_type
	// instead. The task type of the embedding.
	//
	// Possible values:
	//   "UNSPECIFIED" - Unset value, which will default to one of the other enum
	// values.
	//   "RETRIEVAL_QUERY" - Specifies the given text is a query in a
	// search/retrieval setting.
	//   "RETRIEVAL_DOCUMENT" - Specifies the given text is a document from the
	// corpus being searched.
	//   "SEMANTIC_SIMILARITY" - Specifies the given text will be used for STS.
	//   "CLASSIFICATION" - Specifies that the given text will be classified.
	//   "CLUSTERING" - Specifies that the embeddings will be used for clustering.
	//   "QUESTION_ANSWERING" - Specifies that the embeddings will be used for
	// question answering.
	//   "FACT_VERIFICATION" - Specifies that the embeddings will be used for fact
	// verification.
	//   "CODE_RETRIEVAL_QUERY" - Specifies that the embeddings will be used for
	// code retrieval.
	TaskType string `json:"taskType,omitempty"`
	// Title: Optional. Deprecated: Please use EmbedContentConfig.title instead.
	// The title for the text.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoTruncate") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoTruncate") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EmbedContentRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EmbedContentRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EmbedContentRequestEmbedContentConfig: Configurations
// for the EmbedContent API.
type GoogleCloudAiplatformV1EmbedContentRequestEmbedContentConfig struct {
	// AudioTrackExtraction: Optional. Whether to extract audio from video content.
	AudioTrackExtraction bool `json:"audioTrackExtraction,omitempty"`
	// AutoTruncate: Optional. Whether to silently truncate the input content if
	// it's longer than the maximum sequence length. Only applicable to text-only
	// embedding models.
	AutoTruncate bool `json:"autoTruncate,omitempty"`
	// DocumentOcr: Optional. Whether to enable OCR for document content.
	DocumentOcr bool `json:"documentOcr,omitempty"`
	// OutputDimensionality: Optional. Reduced dimension for the output embedding.
	// If set, excessive values in the output embedding are truncated from the end.
	OutputDimensionality int64 `json:"outputDimensionality,omitempty"`
	// TaskType: Optional. The task type of the embedding. Only applicable to
	// text-only embedding models.
	//
	// Possible values:
	//   "UNSPECIFIED" - Unset value, which will default to one of the other enum
	// values.
	//   "RETRIEVAL_QUERY" - Specifies the given text is a query in a
	// search/retrieval setting.
	//   "RETRIEVAL_DOCUMENT" - Specifies the given text is a document from the
	// corpus being searched.
	//   "SEMANTIC_SIMILARITY" - Specifies the given text will be used for STS.
	//   "CLASSIFICATION" - Specifies that the given text will be classified.
	//   "CLUSTERING" - Specifies that the embeddings will be used for clustering.
	//   "QUESTION_ANSWERING" - Specifies that the embeddings will be used for
	// question answering.
	//   "FACT_VERIFICATION" - Specifies that the embeddings will be used for fact
	// verification.
	//   "CODE_RETRIEVAL_QUERY" - Specifies that the embeddings will be used for
	// code retrieval.
	TaskType string `json:"taskType,omitempty"`
	// Title: Optional. The title for the text. Only applicable to text-only
	// embedding models.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AudioTrackExtraction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AudioTrackExtraction") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EmbedContentRequestEmbedContentConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EmbedContentRequestEmbedContentConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EmbedContentResponse: Response message for
// PredictionService.EmbedContent.
type GoogleCloudAiplatformV1EmbedContentResponse struct {
	// Embedding: The embedding generated from the input content.
	Embedding *GoogleCloudAiplatformV1EmbedContentResponseEmbedding `json:"embedding,omitempty"`
	// Truncated: Whether the input content was truncated before generating the
	// embedding.
	Truncated bool `json:"truncated,omitempty"`
	// UsageMetadata: Usage metadata about the response(s).
	UsageMetadata *GoogleCloudAiplatformV1UsageMetadata `json:"usageMetadata,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Embedding") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Embedding") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EmbedContentResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EmbedContentResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EmbedContentResponseEmbedding: A list of floats
// representing an embedding.
type GoogleCloudAiplatformV1EmbedContentResponseEmbedding struct {
	// Values: Embedding vector values.
	Values []float64 `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EmbedContentResponseEmbedding) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EmbedContentResponseEmbedding
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1EmbedContentResponseEmbedding) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1EmbedContentResponseEmbedding
	var s1 struct {
		Values []gensupport.JSONFloat64 `json:"values"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Values = make([]float64, len(s1.Values))
	for i := range s1.Values {
		s.Values[i] = float64(s1.Values[i])
	}
	return nil
}

// GoogleCloudAiplatformV1EncryptionSpec: Represents a customer-managed
// encryption key specification that can be applied to a Vertex AI resource.
type GoogleCloudAiplatformV1EncryptionSpec struct {
	// KmsKeyName: Required. Resource name of the Cloud KMS key used to protect the
	// resource. The Cloud KMS key must be in the same region as the resource. It
	// must have the format
	// `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp
	// to_key}`.
	KmsKeyName string `json:"kmsKeyName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EncryptionSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EncryptionSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Endpoint: Models are deployed into it, and afterwards
// Endpoint is called to obtain predictions and explanations.
type GoogleCloudAiplatformV1Endpoint struct {
	// ClientConnectionConfig: Configurations that are applied to the endpoint for
	// online prediction.
	ClientConnectionConfig *GoogleCloudAiplatformV1ClientConnectionConfig `json:"clientConnectionConfig,omitempty"`
	// CreateTime: Output only. Timestamp when this Endpoint was created.
	CreateTime string `json:"createTime,omitempty"`
	// DedicatedEndpointDns: Output only. DNS of the dedicated endpoint. Will only
	// be populated if dedicated_endpoint_enabled is true. Depending on the
	// features enabled, uid might be a random number or a string. For example, if
	// fast_tryout is enabled, uid will be fasttryout. Format:
	// `https://{endpoint_id}.{region}-{uid}.prediction.vertexai.goog`.
	DedicatedEndpointDns string `json:"dedicatedEndpointDns,omitempty"`
	// DedicatedEndpointEnabled: If true, the endpoint will be exposed through a
	// dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the
	// dedicated DNS will be isolated from other users' traffic and will have
	// better performance and reliability. Note: Once you enabled dedicated
	// endpoint, you won't be able to send request to the shared DNS
	// {region}-aiplatform.googleapis.com. The limitation will be removed soon.
	DedicatedEndpointEnabled bool `json:"dedicatedEndpointEnabled,omitempty"`
	// DeployedModels: Output only. The models deployed in this Endpoint. To add or
	// remove DeployedModels use EndpointService.DeployModel and
	// EndpointService.UndeployModel respectively.
	DeployedModels []*GoogleCloudAiplatformV1DeployedModel `json:"deployedModels,omitempty"`
	// Description: The description of the Endpoint.
	Description string `json:"description,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EnablePrivateServiceConnect: Deprecated: If true, expose the Endpoint via
	// private service connect. Only one of the fields, network or
	// enable_private_service_connect, can be set.
	EnablePrivateServiceConnect bool `json:"enablePrivateServiceConnect,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// GdcConfig: Configures the Google Distributed Cloud (GDC) environment for
	// online prediction. Only set this field when the Endpoint is to be deployed
	// in a GDC environment.
	GdcConfig *GoogleCloudAiplatformV1GdcConfig `json:"gdcConfig,omitempty"`
	// GenAiAdvancedFeaturesConfig: Optional. Configuration for
	// GenAiAdvancedFeatures. If the endpoint is serving GenAI models, advanced
	// features like native RAG integration can be configured. Currently, only
	// Model Garden models are supported.
	GenAiAdvancedFeaturesConfig *GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig `json:"genAiAdvancedFeaturesConfig,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// ModelDeploymentMonitoringJob: Output only. Resource name of the Model
	// Monitoring job associated with this Endpoint if monitoring is enabled by
	// JobService.CreateModelDeploymentMonitoringJob. Format:
	// `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model
	// _deployment_monitoring_job}`
	ModelDeploymentMonitoringJob string `json:"modelDeploymentMonitoringJob,omitempty"`
	// Name: Identifier. The resource name of the Endpoint.
	Name string `json:"name,omitempty"`
	// Network: 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 or
	// 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 `json:"network,omitempty"`
	// PredictRequestResponseLoggingConfig: Configures the request-response logging
	// for online prediction.
	PredictRequestResponseLoggingConfig *GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig `json:"predictRequestResponseLoggingConfig,omitempty"`
	// PrivateServiceConnectConfig: Optional. Configuration for private service
	// connect. network and private_service_connect_config are mutually exclusive.
	PrivateServiceConnectConfig *GoogleCloudAiplatformV1PrivateServiceConnectConfig `json:"privateServiceConnectConfig,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// TrafficSplit: 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]int64 `json:"trafficSplit,omitempty"`
	// UpdateTime: Output only. Timestamp when this Endpoint was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ClientConnectionConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientConnectionConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Endpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Endpoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EnterpriseWebSearch: Tool to search public web data,
// powered by Vertex AI Search and Sec4 compliance.
type GoogleCloudAiplatformV1EnterpriseWebSearch struct {
	// BlockingConfidence: Optional. Sites with confidence level chosen & above
	// this value will be blocked from the search results.
	//
	// Possible values:
	//   "PHISH_BLOCK_THRESHOLD_UNSPECIFIED" - Defaults to unspecified.
	//   "BLOCK_LOW_AND_ABOVE" - Blocks Low and above confidence URL that is risky.
	//   "BLOCK_MEDIUM_AND_ABOVE" - Blocks Medium and above confidence URL that is
	// risky.
	//   "BLOCK_HIGH_AND_ABOVE" - Blocks High and above confidence URL that is
	// risky.
	//   "BLOCK_HIGHER_AND_ABOVE" - Blocks Higher and above confidence URL that is
	// risky.
	//   "BLOCK_VERY_HIGH_AND_ABOVE" - Blocks Very high and above confidence URL
	// that is risky.
	//   "BLOCK_ONLY_EXTREMELY_HIGH" - Blocks Extremely high confidence URL that is
	// risky.
	BlockingConfidence string `json:"blockingConfidence,omitempty"`
	// ExcludeDomains: Optional. List of domains to be excluded from the search
	// results. The default limit is 2000 domains.
	ExcludeDomains []string `json:"excludeDomains,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlockingConfidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlockingConfidence") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EnterpriseWebSearch) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EnterpriseWebSearch
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EntityIdSelector: Selector for entityId. Getting ids
// from the given source.
type GoogleCloudAiplatformV1EntityIdSelector struct {
	// CsvSource: Source of Csv
	CsvSource *GoogleCloudAiplatformV1CsvSource `json:"csvSource,omitempty"`
	// EntityIdField: Source column that holds entity IDs. If not provided, entity
	// IDs are extracted from the column named entity_id.
	EntityIdField string `json:"entityIdField,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CsvSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CsvSource") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EntityIdSelector) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EntityIdSelector
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EntityType: 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 GoogleCloudAiplatformV1EntityType struct {
	// CreateTime: Output only. Timestamp when this EntityType was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Optional. Description of the EntityType.
	Description string `json:"description,omitempty"`
	// Etag: Optional. Used to perform a consistent read-modify-write updates. If
	// not set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// MonitoringConfig: Optional. The default monitoring configuration for all
	// Features with value type (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 *GoogleCloudAiplatformV1FeaturestoreMonitoringConfig `json:"monitoringConfig,omitempty"`
	// Name: Immutable. Name of the EntityType. Format:
	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityT
	// ypes/{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 `json:"name,omitempty"`
	// OfflineStorageTtlDays: 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 int64 `json:"offlineStorageTtlDays,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// UpdateTime: Output only. Timestamp when this EntityType was most recently
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EntityType) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EntityType
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EnvVar: Represents an environment variable present in
// a Container or Python Module.
type GoogleCloudAiplatformV1EnvVar struct {
	// Name: Required. Name of the environment variable. Must be a valid C
	// identifier.
	Name string `json:"name,omitempty"`
	// Value: 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 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EnvVar) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EnvVar
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ErrorAnalysisAnnotation: Model error analysis for
// each annotation.
type GoogleCloudAiplatformV1ErrorAnalysisAnnotation struct {
	// AttributedItems: Attributed items for a given annotation, typically
	// representing neighbors from the training sets constrained by the query type.
	AttributedItems []*GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem `json:"attributedItems,omitempty"`
	// OutlierScore: The outlier score of this annotated item. Usually defined as
	// the min of all distances from attributed items.
	OutlierScore float64 `json:"outlierScore,omitempty"`
	// OutlierThreshold: The threshold used to determine if this annotation is an
	// outlier or not.
	OutlierThreshold float64 `json:"outlierThreshold,omitempty"`
	// QueryType: The query type used for finding the attributed items.
	//
	// Possible values:
	//   "QUERY_TYPE_UNSPECIFIED" - Unspecified query type for model error
	// analysis.
	//   "ALL_SIMILAR" - Query similar samples across all classes in the dataset.
	//   "SAME_CLASS_SIMILAR" - Query similar samples from the same class of the
	// input sample.
	//   "SAME_CLASS_DISSIMILAR" - Query dissimilar samples from the same class of
	// the input sample.
	QueryType string `json:"queryType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AttributedItems") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AttributedItems") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ErrorAnalysisAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ErrorAnalysisAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ErrorAnalysisAnnotation) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ErrorAnalysisAnnotation
	var s1 struct {
		OutlierScore     gensupport.JSONFloat64 `json:"outlierScore"`
		OutlierThreshold gensupport.JSONFloat64 `json:"outlierThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.OutlierScore = float64(s1.OutlierScore)
	s.OutlierThreshold = float64(s1.OutlierThreshold)
	return nil
}

// GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem: Attributed
// items for a given annotation, typically representing neighbors from the
// training sets constrained by the query type.
type GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem struct {
	// AnnotationResourceName: The unique ID for each annotation. Used by FE to
	// allocate the annotation in DB.
	AnnotationResourceName string `json:"annotationResourceName,omitempty"`
	// Distance: The distance of this item to the annotation.
	Distance float64 `json:"distance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationResourceName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationResourceName") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem
	var s1 struct {
		Distance gensupport.JSONFloat64 `json:"distance"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Distance = float64(s1.Distance)
	return nil
}

// GoogleCloudAiplatformV1EvaluateDatasetRequest: Request message for
// EvaluationService.EvaluateDataset.
type GoogleCloudAiplatformV1EvaluateDatasetRequest struct {
	// AutoraterConfig: Optional. Autorater config used for evaluation. Currently
	// only publisher Gemini models are supported. Format:
	// `projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}.`
	AutoraterConfig *GoogleCloudAiplatformV1AutoraterConfig `json:"autoraterConfig,omitempty"`
	// Dataset: Required. The dataset used for evaluation.
	Dataset *GoogleCloudAiplatformV1EvaluationDataset `json:"dataset,omitempty"`
	// Location: Required. The resource name of the Location to evaluate the
	// dataset. Format: `projects/{project}/locations/{location}`
	Location string `json:"location,omitempty"`
	// Metrics: Required. The metrics used for evaluation.
	Metrics []*GoogleCloudAiplatformV1Metric `json:"metrics,omitempty"`
	// OutputConfig: Required. Config for evaluation output.
	OutputConfig *GoogleCloudAiplatformV1OutputConfig `json:"outputConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoraterConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoraterConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluateDatasetRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluateDatasetRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluateDatasetResponse: The results from an
// evaluation run performed by the EvaluationService.
type GoogleCloudAiplatformV1EvaluateDatasetResponse struct {
	// AggregationOutput: Output only. Aggregation statistics derived from results
	// of EvaluationService.
	AggregationOutput *GoogleCloudAiplatformV1AggregationOutput `json:"aggregationOutput,omitempty"`
	// OutputInfo: Output only. Output info for EvaluationService.
	OutputInfo *GoogleCloudAiplatformV1OutputInfo `json:"outputInfo,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AggregationOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AggregationOutput") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluateDatasetResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluateDatasetResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluateDatasetRun: Evaluate Dataset Run Result for
// Tuning Job.
type GoogleCloudAiplatformV1EvaluateDatasetRun struct {
	// CheckpointId: Output only. The checkpoint id used in the evaluation run.
	// Only populated when evaluating checkpoints.
	CheckpointId string `json:"checkpointId,omitempty"`
	// Error: Output only. The error of the evaluation run if any.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// EvaluateDatasetResponse: Output only. Results for EvaluationService.
	EvaluateDatasetResponse *GoogleCloudAiplatformV1EvaluateDatasetResponse `json:"evaluateDatasetResponse,omitempty"`
	// EvaluationRun: Output only. The resource name of the evaluation run. Format:
	// `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run_id}`.
	EvaluationRun string `json:"evaluationRun,omitempty"`
	// OperationName: Output only. Deprecated: The updated architecture uses
	// evaluation_run instead.
	OperationName string `json:"operationName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CheckpointId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CheckpointId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluateDatasetRun) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluateDatasetRun
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluateInstancesRequest: Request message for
// EvaluationService.EvaluateInstances.
type GoogleCloudAiplatformV1EvaluateInstancesRequest struct {
	// AutoraterConfig: Optional. Autorater config used for evaluation.
	AutoraterConfig *GoogleCloudAiplatformV1AutoraterConfig `json:"autoraterConfig,omitempty"`
	// BleuInput: Instances and metric spec for bleu metric.
	BleuInput *GoogleCloudAiplatformV1BleuInput `json:"bleuInput,omitempty"`
	// CoherenceInput: Input for coherence metric.
	CoherenceInput *GoogleCloudAiplatformV1CoherenceInput `json:"coherenceInput,omitempty"`
	// CometInput: Translation metrics. Input for Comet metric.
	CometInput *GoogleCloudAiplatformV1CometInput `json:"cometInput,omitempty"`
	// ExactMatchInput: Auto metric instances. Instances and metric spec for exact
	// match metric.
	ExactMatchInput *GoogleCloudAiplatformV1ExactMatchInput `json:"exactMatchInput,omitempty"`
	// FluencyInput: LLM-based metric instance. General text generation metrics,
	// applicable to other categories. Input for fluency metric.
	FluencyInput *GoogleCloudAiplatformV1FluencyInput `json:"fluencyInput,omitempty"`
	// FulfillmentInput: Input for fulfillment metric.
	FulfillmentInput *GoogleCloudAiplatformV1FulfillmentInput `json:"fulfillmentInput,omitempty"`
	// GroundednessInput: Input for groundedness metric.
	GroundednessInput *GoogleCloudAiplatformV1GroundednessInput `json:"groundednessInput,omitempty"`
	// Instance: The instance to be evaluated.
	Instance *GoogleCloudAiplatformV1EvaluationInstance `json:"instance,omitempty"`
	// Location: Required. The resource name of the Location to evaluate the
	// instances. Format: `projects/{project}/locations/{location}`
	Location string `json:"location,omitempty"`
	// MetricSources: Optional. The metrics (either inline or registered) used for
	// evaluation. Currently, we only support evaluating a single metric. If
	// multiple metrics are provided, only the first one will be evaluated.
	MetricSources []*GoogleCloudAiplatformV1MetricSource `json:"metricSources,omitempty"`
	// Metrics: The metrics used for evaluation. Currently, we only support
	// evaluating a single metric. If multiple metrics are provided, only the first
	// one will be evaluated.
	Metrics []*GoogleCloudAiplatformV1Metric `json:"metrics,omitempty"`
	// MetricxInput: Input for Metricx metric.
	MetricxInput *GoogleCloudAiplatformV1MetricxInput `json:"metricxInput,omitempty"`
	// PairwiseMetricInput: Input for pairwise metric.
	PairwiseMetricInput *GoogleCloudAiplatformV1PairwiseMetricInput `json:"pairwiseMetricInput,omitempty"`
	// PairwiseQuestionAnsweringQualityInput: Input for pairwise question answering
	// quality metric.
	PairwiseQuestionAnsweringQualityInput *GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput `json:"pairwiseQuestionAnsweringQualityInput,omitempty"`
	// PairwiseSummarizationQualityInput: Input for pairwise summarization quality
	// metric.
	PairwiseSummarizationQualityInput *GoogleCloudAiplatformV1PairwiseSummarizationQualityInput `json:"pairwiseSummarizationQualityInput,omitempty"`
	// PointwiseMetricInput: Input for pointwise metric.
	PointwiseMetricInput *GoogleCloudAiplatformV1PointwiseMetricInput `json:"pointwiseMetricInput,omitempty"`
	// QuestionAnsweringCorrectnessInput: Input for question answering correctness
	// metric.
	QuestionAnsweringCorrectnessInput *GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput `json:"questionAnsweringCorrectnessInput,omitempty"`
	// QuestionAnsweringHelpfulnessInput: Input for question answering helpfulness
	// metric.
	QuestionAnsweringHelpfulnessInput *GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput `json:"questionAnsweringHelpfulnessInput,omitempty"`
	// QuestionAnsweringQualityInput: Input for question answering quality metric.
	QuestionAnsweringQualityInput *GoogleCloudAiplatformV1QuestionAnsweringQualityInput `json:"questionAnsweringQualityInput,omitempty"`
	// QuestionAnsweringRelevanceInput: Input for question answering relevance
	// metric.
	QuestionAnsweringRelevanceInput *GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput `json:"questionAnsweringRelevanceInput,omitempty"`
	// RougeInput: Instances and metric spec for rouge metric.
	RougeInput *GoogleCloudAiplatformV1RougeInput `json:"rougeInput,omitempty"`
	// RubricBasedInstructionFollowingInput: Rubric Based Instruction Following
	// metric.
	RubricBasedInstructionFollowingInput *GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput `json:"rubricBasedInstructionFollowingInput,omitempty"`
	// SafetyInput: Input for safety metric.
	SafetyInput *GoogleCloudAiplatformV1SafetyInput `json:"safetyInput,omitempty"`
	// SummarizationHelpfulnessInput: Input for summarization helpfulness metric.
	SummarizationHelpfulnessInput *GoogleCloudAiplatformV1SummarizationHelpfulnessInput `json:"summarizationHelpfulnessInput,omitempty"`
	// SummarizationQualityInput: Input for summarization quality metric.
	SummarizationQualityInput *GoogleCloudAiplatformV1SummarizationQualityInput `json:"summarizationQualityInput,omitempty"`
	// SummarizationVerbosityInput: Input for summarization verbosity metric.
	SummarizationVerbosityInput *GoogleCloudAiplatformV1SummarizationVerbosityInput `json:"summarizationVerbosityInput,omitempty"`
	// ToolCallValidInput: Tool call metric instances. Input for tool call valid
	// metric.
	ToolCallValidInput *GoogleCloudAiplatformV1ToolCallValidInput `json:"toolCallValidInput,omitempty"`
	// ToolNameMatchInput: Input for tool name match metric.
	ToolNameMatchInput *GoogleCloudAiplatformV1ToolNameMatchInput `json:"toolNameMatchInput,omitempty"`
	// ToolParameterKeyMatchInput: Input for tool parameter key match metric.
	ToolParameterKeyMatchInput *GoogleCloudAiplatformV1ToolParameterKeyMatchInput `json:"toolParameterKeyMatchInput,omitempty"`
	// ToolParameterKvMatchInput: Input for tool parameter key value match metric.
	ToolParameterKvMatchInput *GoogleCloudAiplatformV1ToolParameterKVMatchInput `json:"toolParameterKvMatchInput,omitempty"`
	// TrajectoryAnyOrderMatchInput: Input for trajectory match any order metric.
	TrajectoryAnyOrderMatchInput *GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput `json:"trajectoryAnyOrderMatchInput,omitempty"`
	// TrajectoryExactMatchInput: Input for trajectory exact match metric.
	TrajectoryExactMatchInput *GoogleCloudAiplatformV1TrajectoryExactMatchInput `json:"trajectoryExactMatchInput,omitempty"`
	// TrajectoryInOrderMatchInput: Input for trajectory in order match metric.
	TrajectoryInOrderMatchInput *GoogleCloudAiplatformV1TrajectoryInOrderMatchInput `json:"trajectoryInOrderMatchInput,omitempty"`
	// TrajectoryPrecisionInput: Input for trajectory precision metric.
	TrajectoryPrecisionInput *GoogleCloudAiplatformV1TrajectoryPrecisionInput `json:"trajectoryPrecisionInput,omitempty"`
	// TrajectoryRecallInput: Input for trajectory recall metric.
	TrajectoryRecallInput *GoogleCloudAiplatformV1TrajectoryRecallInput `json:"trajectoryRecallInput,omitempty"`
	// TrajectorySingleToolUseInput: Input for trajectory single tool use metric.
	TrajectorySingleToolUseInput *GoogleCloudAiplatformV1TrajectorySingleToolUseInput `json:"trajectorySingleToolUseInput,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoraterConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoraterConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluateInstancesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluateInstancesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluateInstancesResponse: Response message for
// EvaluationService.EvaluateInstances.
type GoogleCloudAiplatformV1EvaluateInstancesResponse struct {
	// BleuResults: Results for bleu metric.
	BleuResults *GoogleCloudAiplatformV1BleuResults `json:"bleuResults,omitempty"`
	// CoherenceResult: Result for coherence metric.
	CoherenceResult *GoogleCloudAiplatformV1CoherenceResult `json:"coherenceResult,omitempty"`
	// CometResult: Translation metrics. Result for Comet metric.
	CometResult *GoogleCloudAiplatformV1CometResult `json:"cometResult,omitempty"`
	// ExactMatchResults: Auto metric evaluation results. Results for exact match
	// metric.
	ExactMatchResults *GoogleCloudAiplatformV1ExactMatchResults `json:"exactMatchResults,omitempty"`
	// FluencyResult: LLM-based metric evaluation result. General text generation
	// metrics, applicable to other categories. Result for fluency metric.
	FluencyResult *GoogleCloudAiplatformV1FluencyResult `json:"fluencyResult,omitempty"`
	// FulfillmentResult: Result for fulfillment metric.
	FulfillmentResult *GoogleCloudAiplatformV1FulfillmentResult `json:"fulfillmentResult,omitempty"`
	// GroundednessResult: Result for groundedness metric.
	GroundednessResult *GoogleCloudAiplatformV1GroundednessResult `json:"groundednessResult,omitempty"`
	// MetricResults: Metric results for each instance. The order of the metric
	// results is guaranteed to be the same as the order of the instances in the
	// request.
	MetricResults []*GoogleCloudAiplatformV1MetricResult `json:"metricResults,omitempty"`
	// MetricxResult: Result for Metricx metric.
	MetricxResult *GoogleCloudAiplatformV1MetricxResult `json:"metricxResult,omitempty"`
	// PairwiseMetricResult: Result for pairwise metric.
	PairwiseMetricResult *GoogleCloudAiplatformV1PairwiseMetricResult `json:"pairwiseMetricResult,omitempty"`
	// PairwiseQuestionAnsweringQualityResult: Result for pairwise question
	// answering quality metric.
	PairwiseQuestionAnsweringQualityResult *GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult `json:"pairwiseQuestionAnsweringQualityResult,omitempty"`
	// PairwiseSummarizationQualityResult: Result for pairwise summarization
	// quality metric.
	PairwiseSummarizationQualityResult *GoogleCloudAiplatformV1PairwiseSummarizationQualityResult `json:"pairwiseSummarizationQualityResult,omitempty"`
	// PointwiseMetricResult: Generic metrics. Result for pointwise metric.
	PointwiseMetricResult *GoogleCloudAiplatformV1PointwiseMetricResult `json:"pointwiseMetricResult,omitempty"`
	// QuestionAnsweringCorrectnessResult: Result for question answering
	// correctness metric.
	QuestionAnsweringCorrectnessResult *GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult `json:"questionAnsweringCorrectnessResult,omitempty"`
	// QuestionAnsweringHelpfulnessResult: Result for question answering
	// helpfulness metric.
	QuestionAnsweringHelpfulnessResult *GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult `json:"questionAnsweringHelpfulnessResult,omitempty"`
	// QuestionAnsweringQualityResult: Question answering only metrics. Result for
	// question answering quality metric.
	QuestionAnsweringQualityResult *GoogleCloudAiplatformV1QuestionAnsweringQualityResult `json:"questionAnsweringQualityResult,omitempty"`
	// QuestionAnsweringRelevanceResult: Result for question answering relevance
	// metric.
	QuestionAnsweringRelevanceResult *GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult `json:"questionAnsweringRelevanceResult,omitempty"`
	// RougeResults: Results for rouge metric.
	RougeResults *GoogleCloudAiplatformV1RougeResults `json:"rougeResults,omitempty"`
	// RubricBasedInstructionFollowingResult: Result for rubric based instruction
	// following metric.
	RubricBasedInstructionFollowingResult *GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult `json:"rubricBasedInstructionFollowingResult,omitempty"`
	// SafetyResult: Result for safety metric.
	SafetyResult *GoogleCloudAiplatformV1SafetyResult `json:"safetyResult,omitempty"`
	// SummarizationHelpfulnessResult: Result for summarization helpfulness metric.
	SummarizationHelpfulnessResult *GoogleCloudAiplatformV1SummarizationHelpfulnessResult `json:"summarizationHelpfulnessResult,omitempty"`
	// SummarizationQualityResult: Summarization only metrics. Result for
	// summarization quality metric.
	SummarizationQualityResult *GoogleCloudAiplatformV1SummarizationQualityResult `json:"summarizationQualityResult,omitempty"`
	// SummarizationVerbosityResult: Result for summarization verbosity metric.
	SummarizationVerbosityResult *GoogleCloudAiplatformV1SummarizationVerbosityResult `json:"summarizationVerbosityResult,omitempty"`
	// ToolCallValidResults: Tool call metrics. Results for tool call valid metric.
	ToolCallValidResults *GoogleCloudAiplatformV1ToolCallValidResults `json:"toolCallValidResults,omitempty"`
	// ToolNameMatchResults: Results for tool name match metric.
	ToolNameMatchResults *GoogleCloudAiplatformV1ToolNameMatchResults `json:"toolNameMatchResults,omitempty"`
	// ToolParameterKeyMatchResults: Results for tool parameter key match metric.
	ToolParameterKeyMatchResults *GoogleCloudAiplatformV1ToolParameterKeyMatchResults `json:"toolParameterKeyMatchResults,omitempty"`
	// ToolParameterKvMatchResults: Results for tool parameter key value match
	// metric.
	ToolParameterKvMatchResults *GoogleCloudAiplatformV1ToolParameterKVMatchResults `json:"toolParameterKvMatchResults,omitempty"`
	// TrajectoryAnyOrderMatchResults: Result for trajectory any order match
	// metric.
	TrajectoryAnyOrderMatchResults *GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults `json:"trajectoryAnyOrderMatchResults,omitempty"`
	// TrajectoryExactMatchResults: Result for trajectory exact match metric.
	TrajectoryExactMatchResults *GoogleCloudAiplatformV1TrajectoryExactMatchResults `json:"trajectoryExactMatchResults,omitempty"`
	// TrajectoryInOrderMatchResults: Result for trajectory in order match metric.
	TrajectoryInOrderMatchResults *GoogleCloudAiplatformV1TrajectoryInOrderMatchResults `json:"trajectoryInOrderMatchResults,omitempty"`
	// TrajectoryPrecisionResults: Result for trajectory precision metric.
	TrajectoryPrecisionResults *GoogleCloudAiplatformV1TrajectoryPrecisionResults `json:"trajectoryPrecisionResults,omitempty"`
	// TrajectoryRecallResults: Results for trajectory recall metric.
	TrajectoryRecallResults *GoogleCloudAiplatformV1TrajectoryRecallResults `json:"trajectoryRecallResults,omitempty"`
	// TrajectorySingleToolUseResults: Results for trajectory single tool use
	// metric.
	TrajectorySingleToolUseResults *GoogleCloudAiplatformV1TrajectorySingleToolUseResults `json:"trajectorySingleToolUseResults,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BleuResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BleuResults") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluateInstancesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluateInstancesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluatedAnnotation: True positive, false positive,
// or false negative. EvaluatedAnnotation is only available under
// ModelEvaluationSlice with slice of `annotationSpec` dimension.
type GoogleCloudAiplatformV1EvaluatedAnnotation struct {
	// DataItemPayload: Output only. The data item payload that the Model predicted
	// this EvaluatedAnnotation on.
	DataItemPayload interface{} `json:"dataItemPayload,omitempty"`
	// ErrorAnalysisAnnotations: Annotations of model error analysis results.
	ErrorAnalysisAnnotations []*GoogleCloudAiplatformV1ErrorAnalysisAnnotation `json:"errorAnalysisAnnotations,omitempty"`
	// EvaluatedDataItemViewId: Output only. ID of the EvaluatedDataItemView under
	// the same ancestor ModelEvaluation. The EvaluatedDataItemView consists of all
	// ground truths and predictions on data_item_payload.
	EvaluatedDataItemViewId string `json:"evaluatedDataItemViewId,omitempty"`
	// Explanations: Explanations of predictions. Each element of the explanations
	// indicates the explanation for one explanation Method. The attributions list
	// in the EvaluatedAnnotationExplanation.explanation object corresponds to the
	// predictions list. For example, the second element in the attributions list
	// explains the second element in the predictions list.
	Explanations []*GoogleCloudAiplatformV1EvaluatedAnnotationExplanation `json:"explanations,omitempty"`
	// GroundTruths: 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. For false positive, there are zero or
	// more ground truth annotations that are similar to the only prediction in
	// 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 []interface{} `json:"groundTruths,omitempty"`
	// Predictions: 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. 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. For false negative, there are zero or
	// more predictions which are similar to the only ground truth annotation in
	// ground_truths but not enough for a match. The schema of the prediction is
	// stored in ModelEvaluation.annotation_schema_uri
	Predictions []interface{} `json:"predictions,omitempty"`
	// Type: Output only. Type of the EvaluatedAnnotation.
	//
	// Possible values:
	//   "EVALUATED_ANNOTATION_TYPE_UNSPECIFIED" - Invalid value.
	//   "TRUE_POSITIVE" - The EvaluatedAnnotation is a true positive. It has a
	// prediction created by the Model and a ground truth Annotation which the
	// prediction matches.
	//   "FALSE_POSITIVE" - The EvaluatedAnnotation is false positive. It has a
	// prediction created by the Model which does not match any ground truth
	// annotation.
	//   "FALSE_NEGATIVE" - The EvaluatedAnnotation is false negative. It has a
	// ground truth annotation which is not matched by any of the model created
	// predictions.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataItemPayload") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataItemPayload") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluatedAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluatedAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluatedAnnotationExplanation: Explanation result of
// the prediction produced by the Model.
type GoogleCloudAiplatformV1EvaluatedAnnotationExplanation struct {
	// Explanation: Explanation attribution response details.
	Explanation *GoogleCloudAiplatformV1Explanation `json:"explanation,omitempty"`
	// ExplanationType: Explanation type. For AutoML Image Classification models,
	// possible values are: * `image-integrated-gradients` * `image-xrai`
	ExplanationType string `json:"explanationType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Explanation") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Explanation") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluatedAnnotationExplanation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluatedAnnotationExplanation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationConfig: Evaluation Config for Tuning Job.
type GoogleCloudAiplatformV1EvaluationConfig struct {
	// AutoraterConfig: Optional. Autorater config for evaluation.
	AutoraterConfig *GoogleCloudAiplatformV1AutoraterConfig `json:"autoraterConfig,omitempty"`
	// DatasetCustomMetrics: Optional. Specifications for custom dataset-level
	// aggregations.
	DatasetCustomMetrics []*GoogleCloudAiplatformV1DatasetCustomMetric `json:"datasetCustomMetrics,omitempty"`
	// InferenceGenerationConfig: Optional. Configuration options for inference
	// generation and outputs. If not set, default generation parameters are used.
	InferenceGenerationConfig *GoogleCloudAiplatformV1GenerationConfig `json:"inferenceGenerationConfig,omitempty"`
	// Metrics: Required. The metrics used for evaluation.
	Metrics []*GoogleCloudAiplatformV1Metric `json:"metrics,omitempty"`
	// OutputConfig: Required. Config for evaluation output.
	OutputConfig *GoogleCloudAiplatformV1OutputConfig `json:"outputConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoraterConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoraterConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationDataset: The dataset used for evaluation.
type GoogleCloudAiplatformV1EvaluationDataset struct {
	// BigquerySource: BigQuery source holds the dataset.
	BigquerySource *GoogleCloudAiplatformV1BigQuerySource `json:"bigquerySource,omitempty"`
	// GcsSource: Cloud storage source holds the dataset. Currently only one Cloud
	// Storage file path is supported.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigquerySource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigquerySource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationDataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationDataset
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstance: A single instance to be
// evaluated. Instances are used to specify the input data for evaluation, from
// simple string comparisons to complex, multi-turn model evaluations
type GoogleCloudAiplatformV1EvaluationInstance struct {
	// AgentData: Optional. Deprecated: Use `agent_eval_data` instead. Data used
	// for agent evaluation.
	AgentData *GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentData `json:"agentData,omitempty"`
	// OtherData: Optional. Other data used to populate placeholders based on their
	// key. If a key conflicts with a field in the EvaluationInstance (e.g.
	// `prompt`), the value of the field will take precedence over the value in
	// other_data.
	OtherData *GoogleCloudAiplatformV1EvaluationInstanceMapInstance `json:"otherData,omitempty"`
	// Prompt: Optional. Data used to populate placeholder `prompt` in a metric
	// prompt template.
	Prompt *GoogleCloudAiplatformV1EvaluationInstanceInstanceData `json:"prompt,omitempty"`
	// Reference: Optional. Data used to populate placeholder `reference` in a
	// metric prompt template.
	Reference *GoogleCloudAiplatformV1EvaluationInstanceInstanceData `json:"reference,omitempty"`
	// Response: Optional. Data used to populate placeholder `response` in a metric
	// prompt template.
	Response *GoogleCloudAiplatformV1EvaluationInstanceInstanceData `json:"response,omitempty"`
	// RubricGroups: Optional. Named groups of rubrics associated with the prompt.
	// This is used for rubric-based evaluations where rubrics can be referenced by
	// a key. The key could represent versions, associated metrics, etc.
	RubricGroups map[string]GoogleCloudAiplatformV1RubricGroup `json:"rubricGroups,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentData") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfig: Deprecated:
// Use `google.cloud.aiplatform.master.AgentConfig` in `agent_eval_data`
// instead. Configuration for an Agent.
type GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfig struct {
	// AgentId: Optional. Unique identifier of the agent. This ID is used to refer
	// to this agent, e.g., in AgentEvent.author, or in the `sub_agents` field. It
	// must be unique within the `agents` map.
	AgentId string `json:"agentId,omitempty"`
	// AgentType: Optional. The type or class of the agent (e.g., "LlmAgent",
	// "RouterAgent", "ToolUseAgent"). Useful for the autorater to understand the
	// expected behavior of the agent.
	AgentType string `json:"agentType,omitempty"`
	// Description: Optional. A high-level description of the agent's role and
	// responsibilities. Critical for evaluating if the agent is routing tasks
	// correctly.
	Description string `json:"description,omitempty"`
	// DeveloperInstruction: Optional. Contains instructions from the developer for
	// the agent. Can be static or a dynamic prompt template used with the
	// `AgentEvent.state_delta` field.
	DeveloperInstruction *GoogleCloudAiplatformV1EvaluationInstanceInstanceData `json:"developerInstruction,omitempty"`
	// SubAgents: Optional. The list of valid agent IDs (names) that this agent can
	// delegate to. This defines the directed edges in the agent system graph
	// topology.
	SubAgents []string `json:"subAgents,omitempty"`
	// Tools: List of tools.
	Tools *GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfigTools `json:"tools,omitempty"`
	// ToolsText: A JSON string containing a list of tools available to an agent
	// with info such as name, description, parameters and required parameters.
	ToolsText string `json:"toolsText,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentId") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfigTools:
// Represents a list of tools for an agent.
type GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfigTools struct {
	// Tool: Optional. List of tools: each tool can have multiple function
	// declarations.
	Tool []*GoogleCloudAiplatformV1Tool `json:"tool,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Tool") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Tool") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfigTools) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfigTools
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentData: Deprecated:
// Use `agent_eval_data` instead. Contains data specific to agent evaluations.
type GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentData struct {
	// AgentConfig: Optional. Deprecated: Use `agent_eval_data` instead. Agent
	// configuration.
	AgentConfig *GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfig `json:"agentConfig,omitempty"`
	// Agents: Optional. The static Agent Configuration. This map defines the graph
	// structure of the agent system. Key: agent_id (matches the `author` field in
	// events). Value: The static configuration of the agent (tools, instructions,
	// sub-agents).
	Agents map[string]GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfig `json:"agents,omitempty"`
	// DeveloperInstruction: Optional. Deprecated: Use
	// `agents.developer_instruction` or `turns.events.active_instruction` instead.
	// A field containing instructions from the developer for the agent.
	DeveloperInstruction *GoogleCloudAiplatformV1EvaluationInstanceInstanceData `json:"developerInstruction,omitempty"`
	// Events: A list of events.
	Events *GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataEvents `json:"events,omitempty"`
	// Tools: List of tools.
	Tools *GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataTools `json:"tools,omitempty"`
	// ToolsText: A JSON string containing a list of tools available to an agent
	// with info such as name, description, parameters and required parameters.
	ToolsText string `json:"toolsText,omitempty"`
	// Turns: Optional. The chronological list of conversation turns. Each turn
	// represents a logical execution cycle (e.g., User Input -> Agent Response).
	Turns []*GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataConversationTurn `json:"turns,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataAgentEvent: A
// single event in the execution trace.
type GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataAgentEvent struct {
	// ActiveTools: Optional. The list of tools that were active/available to the
	// agent at the time of this event. This overrides the `AgentConfig.tools` if
	// set.
	ActiveTools []*GoogleCloudAiplatformV1Tool `json:"activeTools,omitempty"`
	// Author: Required. The ID of the agent or entity that generated this event.
	Author string `json:"author,omitempty"`
	// Content: Required. The content of the event (e.g., text response, tool call,
	// tool response).
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// EventTime: Optional. The timestamp when the event occurred.
	EventTime string `json:"eventTime,omitempty"`
	// StateDelta: Optional. The change in the session state caused by this event.
	// This is a key-value map of fields that were modified or added by the event.
	StateDelta googleapi.RawMessage `json:"stateDelta,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ActiveTools") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ActiveTools") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataAgentEvent) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataAgentEvent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataConversationTurn:
//
//	Represents a single turn/invocation in the conversation.
type GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataConversationTurn struct {
	// Events: Optional. The list of events that occurred during this turn.
	Events []*GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataAgentEvent `json:"events,omitempty"`
	// TurnId: Optional. A unique identifier for the turn. Useful for referencing
	// specific turns across systems.
	TurnId string `json:"turnId,omitempty"`
	// TurnIndex: Required. The 0-based index of the turn in the conversation
	// sequence.
	TurnIndex int64 `json:"turnIndex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Events") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Events") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataConversationTurn) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataConversationTurn
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataEvents:
// Represents a list of events for an agent.
type GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataEvents struct {
	// Event: Optional. A list of events.
	Event []*GoogleCloudAiplatformV1Content `json:"event,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Event") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Event") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataEvents) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataEvents
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataTools:
// Deprecated: Use `agent_eval_data` instead. Represents a list of tools for an
// agent.
type GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataTools struct {
	// Tool: Optional. List of tools: each tool can have multiple function
	// declarations.
	Tool []*GoogleCloudAiplatformV1Tool `json:"tool,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Tool") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Tool") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataTools) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentDataTools
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceInstanceData: Instance data used to
// populate placeholders in a metric prompt template.
type GoogleCloudAiplatformV1EvaluationInstanceInstanceData struct {
	// Contents: List of Gemini content data.
	Contents *GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents `json:"contents,omitempty"`
	// Text: Text data.
	Text string `json:"text,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceInstanceData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceInstanceData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents: List of
// standard Content messages from Gemini API.
type GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents struct {
	// Contents: Optional. Repeated contents.
	Contents []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceInstanceDataContents
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationInstanceMapInstance: Instance data
// specified as a map.
type GoogleCloudAiplatformV1EvaluationInstanceMapInstance struct {
	// MapInstance: Optional. Map of instance data.
	MapInstance map[string]GoogleCloudAiplatformV1EvaluationInstanceInstanceData `json:"mapInstance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MapInstance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MapInstance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationInstanceMapInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationInstanceMapInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationItem: EvaluationItem is a single evaluation
// request or result. The content of an EvaluationItem is immutable - it cannot
// be updated once created. EvaluationItems can be deleted when no longer
// needed.
type GoogleCloudAiplatformV1EvaluationItem struct {
	// CreateTime: Output only. Timestamp when this item was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The display name of the EvaluationItem.
	DisplayName string `json:"displayName,omitempty"`
	// Error: Output only. Error for the evaluation item.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// EvaluationItemType: Required. The type of the EvaluationItem.
	//
	// Possible values:
	//   "EVALUATION_ITEM_TYPE_UNSPECIFIED" - The default value. This value is
	// unused.
	//   "REQUEST" - The EvaluationItem is a request to evaluate.
	//   "RESULT" - The EvaluationItem is the result of evaluation.
	EvaluationItemType string `json:"evaluationItemType,omitempty"`
	// EvaluationRequest: The request to evaluate.
	EvaluationRequest *GoogleCloudAiplatformV1EvaluationRequest `json:"evaluationRequest,omitempty"`
	// EvaluationResponse: Output only. The response from evaluation.
	EvaluationResponse *GoogleCloudAiplatformV1EvaluationResult `json:"evaluationResponse,omitempty"`
	// GcsUri: The Cloud Storage object where the request or response is stored.
	GcsUri string `json:"gcsUri,omitempty"`
	// Labels: Optional. Labels for the EvaluationItem.
	Labels map[string]string `json:"labels,omitempty"`
	// Metadata: Optional. Metadata for the EvaluationItem.
	Metadata interface{} `json:"metadata,omitempty"`
	// Name: Identifier. The resource name of the EvaluationItem. Format:
	// `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`
	Name string `json:"name,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationItem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationParserConfig: Config for parsing LLM
// responses. It can be used to parse the LLM response to be evaluated, or the
// LLM response from LLM-based metrics/Autoraters.
type GoogleCloudAiplatformV1EvaluationParserConfig struct {
	// CustomCodeParserConfig: Optional. Use custom code to parse the LLM response.
	CustomCodeParserConfig *GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig `json:"customCodeParserConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomCodeParserConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomCodeParserConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationParserConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationParserConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig:
// Configuration for parsing the LLM response using custom code.
type GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig struct {
	// ParsingFunction: Required. Python function for parsing results. The function
	// should be defined within this string. The function takes a list of strings
	// (LLM responses) and should return either a list of dictionaries (for
	// rubrics) or a single dictionary (for a metric result). Example function
	// signature: def parse(responses: list[str]) -> list[dict[str, Any]] |
	// dict[str, Any]: When parsing rubrics, return a list of dictionaries, where
	// each dictionary represents a Rubric. Example for rubrics: [ { "content":
	// {"property": {"description": "The response is factual."}}, "type":
	// "FACTUALITY", "importance": "HIGH" }, { "content": {"property":
	// {"description": "The response is fluent."}}, "type": "FLUENCY",
	// "importance": "MEDIUM" } ] When parsing critique results, return a
	// dictionary representing a MetricResult. Example for a metric result: {
	// "score": 0.8, "explanation": "The model followed most instructions.",
	// "rubric_verdicts": [...] } ... code for result extraction and aggregation
	ParsingFunction string `json:"parsingFunction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ParsingFunction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ParsingFunction") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationPrompt: Prompt to be evaluated. This can
// represent a single-turn prompt or a multi-turn conversation for agent
// evaluations.
type GoogleCloudAiplatformV1EvaluationPrompt struct {
	// PromptTemplateData: Prompt template data.
	PromptTemplateData *GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData `json:"promptTemplateData,omitempty"`
	// Text: Text prompt.
	Text string `json:"text,omitempty"`
	// Value: Fields and values that can be used to populate the prompt template.
	Value interface{} `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PromptTemplateData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PromptTemplateData") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationPrompt) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationPrompt
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData: Message to hold a
// prompt template and the values to populate the template.
type GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData struct {
	// Values: The values for fields in the prompt template.
	Values map[string]GoogleCloudAiplatformV1Content `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRequest: A single evaluation request
// supporting input for both single-turn model generation and multi-turn agent
// execution traces. Valid input modes: 1. Inference Mode: `prompt` is set
// (containing text or AgentData context). 2. Offline Eval Mode: `prompt` is
// unset, and `candidate_responses` contains `agent_data` (the completed
// execution trace). Validation Rule: Either `prompt` must be set, OR at least
// one of the `candidate_responses` must contain `agent_data`.
type GoogleCloudAiplatformV1EvaluationRequest struct {
	// CandidateResponses: Optional. Responses from model under test and other
	// baseline models for comparison.
	CandidateResponses []*GoogleCloudAiplatformV1CandidateResponse `json:"candidateResponses,omitempty"`
	// GoldenResponse: Optional. The Ideal response or ground truth.
	GoldenResponse *GoogleCloudAiplatformV1CandidateResponse `json:"goldenResponse,omitempty"`
	// Prompt: Optional. The request/prompt to evaluate.
	Prompt *GoogleCloudAiplatformV1EvaluationPrompt `json:"prompt,omitempty"`
	// Rubrics: Optional. Named groups of rubrics associated with this prompt. The
	// key is a user-defined name for the rubric group.
	Rubrics map[string]GoogleCloudAiplatformV1RubricGroup `json:"rubrics,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CandidateResponses") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CandidateResponses") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationResult: Evaluation result.
type GoogleCloudAiplatformV1EvaluationResult struct {
	// CandidateResults: Optional. The results for the metric.
	CandidateResults []*GoogleCloudAiplatformV1CandidateResult `json:"candidateResults,omitempty"`
	// EvaluationRequest: Required. The request item that was evaluated. Format:
	// projects/{project}/locations/{location}/evaluationItems/{evaluation_item}
	EvaluationRequest string `json:"evaluationRequest,omitempty"`
	// EvaluationRun: Required. The evaluation run that was used to generate the
	// result. Format:
	// projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}
	EvaluationRun string `json:"evaluationRun,omitempty"`
	// Metadata: Optional. Metadata about the evaluation result.
	Metadata interface{} `json:"metadata,omitempty"`
	// Metric: Required. The metric that was evaluated.
	Metric string `json:"metric,omitempty"`
	// Request: Required. The request that was evaluated.
	Request *GoogleCloudAiplatformV1EvaluationRequest `json:"request,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CandidateResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CandidateResults") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationResults: The results of the evaluation run.
type GoogleCloudAiplatformV1EvaluationResults struct {
	// EvaluationSet: The evaluation set where item level results are stored.
	EvaluationSet string `json:"evaluationSet,omitempty"`
	// SummaryMetrics: Optional. The summary metrics for the evaluation run.
	SummaryMetrics *GoogleCloudAiplatformV1SummaryMetrics `json:"summaryMetrics,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EvaluationSet") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluationSet") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRubricConfig: Configuration for a rubric
// group to be generated/saved for evaluation.
type GoogleCloudAiplatformV1EvaluationRubricConfig struct {
	// PredefinedRubricGenerationSpec: Dynamically generate rubrics using a
	// predefined spec.
	PredefinedRubricGenerationSpec *GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec `json:"predefinedRubricGenerationSpec,omitempty"`
	// RubricGenerationSpec: Dynamically generate rubrics using this specification.
	RubricGenerationSpec *GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec `json:"rubricGenerationSpec,omitempty"`
	// RubricGroupKey: Required. The key used to save the generated rubrics. If a
	// generation spec is provided, this key will be used for the name of the
	// generated rubric group. Otherwise, this key will be used to look up the
	// existing rubric group on the evaluation item. Note that if a rubric group
	// key is specified on both a rubric config and an evaluation metric, the key
	// from the metric will be used to select the rubrics for evaluation.
	RubricGroupKey string `json:"rubricGroupKey,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "PredefinedRubricGenerationSpec") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PredefinedRubricGenerationSpec")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRubricConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRubricConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRun: EvaluationRun is a resource that
// represents a single evaluation run, which includes a set of prompts, model
// responses, evaluation configuration and the resulting metrics.
type GoogleCloudAiplatformV1EvaluationRun struct {
	// CompletionTime: Output only. Time when the evaluation run was completed.
	CompletionTime string `json:"completionTime,omitempty"`
	// CreateTime: Output only. Time when the evaluation run was created.
	CreateTime string `json:"createTime,omitempty"`
	// DataSource: Required. The data source for the evaluation run.
	DataSource *GoogleCloudAiplatformV1EvaluationRunDataSource `json:"dataSource,omitempty"`
	// DisplayName: Required. The display name of the Evaluation Run.
	DisplayName string `json:"displayName,omitempty"`
	// Error: Output only. Only populated when the evaluation run's state is FAILED
	// or CANCELLED.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// EvaluationConfig: Optional. The configuration used for the evaluation.
	// Optional when analysis_configs is provided.
	EvaluationConfig *GoogleCloudAiplatformV1EvaluationRunEvaluationConfig `json:"evaluationConfig,omitempty"`
	// EvaluationResults: Output only. The results of the evaluation run. Only
	// populated when the evaluation run's state is SUCCEEDED.
	EvaluationResults *GoogleCloudAiplatformV1EvaluationResults `json:"evaluationResults,omitempty"`
	// EvaluationSetSnapshot: Output only. The specific evaluation set of the
	// evaluation run. For runs with an evaluation set input, this will be that
	// same set. For runs with BigQuery input, it's the sampled BigQuery dataset.
	EvaluationSetSnapshot string `json:"evaluationSetSnapshot,omitempty"`
	// InferenceConfigs: Optional. The candidate to inference config map for the
	// evaluation run. The candidate can be up to 128 characters long and can
	// consist of any UTF-8 characters.
	InferenceConfigs map[string]GoogleCloudAiplatformV1EvaluationRunInferenceConfig `json:"inferenceConfigs,omitempty"`
	// Labels: Optional. Labels for the evaluation run.
	Labels map[string]string `json:"labels,omitempty"`
	// Metadata: Optional. Metadata about the evaluation run, can be used by the
	// caller to store additional tracking information about the evaluation run.
	Metadata interface{} `json:"metadata,omitempty"`
	// Name: Identifier. The resource name of the EvaluationRun. This is a unique
	// identifier. Format:
	// `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`
	Name string `json:"name,omitempty"`
	// State: Output only. The state of the evaluation run.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Unspecified state.
	//   "PENDING" - The evaluation run is pending.
	//   "RUNNING" - The evaluation run is running.
	//   "SUCCEEDED" - The evaluation run has succeeded.
	//   "FAILED" - The evaluation run has failed.
	//   "CANCELLED" - The evaluation run has been cancelled.
	//   "INFERENCE" - The evaluation run is performing inference.
	//   "GENERATING_RUBRICS" - The evaluation run is performing rubric generation.
	//   "GENERATING_LOSS_CLUSTERS" - The evaluation run is performing loss
	// analysis.
	State string `json:"state,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CompletionTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompletionTime") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRun) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRun
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunDataSource: The data source for the
// evaluation run.
type GoogleCloudAiplatformV1EvaluationRunDataSource struct {
	// BigqueryRequestSet: Evaluation data in bigquery.
	BigqueryRequestSet *GoogleCloudAiplatformV1BigQueryRequestSet `json:"bigqueryRequestSet,omitempty"`
	// EvaluationSet: The EvaluationSet resource name. Format:
	// `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`
	EvaluationSet string `json:"evaluationSet,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryRequestSet") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryRequestSet") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunDataSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunDataSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunEvaluationConfig: The Evalution
// configuration used for the evaluation run.
type GoogleCloudAiplatformV1EvaluationRunEvaluationConfig struct {
	// AutoraterConfig: Optional. The autorater config for the evaluation run.
	AutoraterConfig *GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig `json:"autoraterConfig,omitempty"`
	// DatasetCustomMetrics: Optional. Specifications for custom dataset-level
	// aggregations.
	DatasetCustomMetrics []*GoogleCloudAiplatformV1DatasetCustomMetric `json:"datasetCustomMetrics,omitempty"`
	// Metrics: Required. The metrics to be calculated in the evaluation run.
	Metrics []*GoogleCloudAiplatformV1EvaluationRunMetric `json:"metrics,omitempty"`
	// OutputConfig: Optional. The output config for the evaluation run.
	OutputConfig *GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig `json:"outputConfig,omitempty"`
	// PromptTemplate: The prompt template used for inference. The values for
	// variables in the prompt template are defined in
	// EvaluationItem.EvaluationPrompt.PromptTemplateData.values.
	PromptTemplate *GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate `json:"promptTemplate,omitempty"`
	// RubricConfigs: Optional. The rubric configs for the evaluation run. They are
	// used to generate rubrics which can be used by rubric-based metrics. Multiple
	// rubric configs can be specified for rubric generation but only one rubric
	// config can be used for a rubric-based metric. If more than one rubric config
	// is provided, the evaluation metric must specify a rubric group key. Note
	// that if a generation spec is specified on both a rubric config and an
	// evaluation metric, the rubrics generated for the metric will be used for
	// evaluation.
	RubricConfigs []*GoogleCloudAiplatformV1EvaluationRubricConfig `json:"rubricConfigs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoraterConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoraterConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunEvaluationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunEvaluationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig: The
// autorater config used for the evaluation run.
type GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig struct {
	// AutoraterModel: Optional. The fully qualified name of the publisher model or
	// tuned autorater endpoint to use. Publisher model format:
	// `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model
	// endpoint format:
	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
	AutoraterModel string `json:"autoraterModel,omitempty"`
	// GenerationConfig: Optional. Configuration options for model generation and
	// outputs.
	GenerationConfig *GoogleCloudAiplatformV1GenerationConfig `json:"generationConfig,omitempty"`
	// SampleCount: Optional. Number of samples for each instance in the dataset.
	// If not specified, the default is 4. Minimum value is 1, maximum value is 32.
	SampleCount int64 `json:"sampleCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoraterModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoraterModel") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig: The output
// config for the evaluation run.
type GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig struct {
	// BigqueryDestination: BigQuery destination for evaluation output.
	BigqueryDestination *GoogleCloudAiplatformV1BigQueryDestination `json:"bigqueryDestination,omitempty"`
	// GcsDestination: Cloud Storage destination for evaluation output.
	GcsDestination *GoogleCloudAiplatformV1GcsDestination `json:"gcsDestination,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryDestination") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunEvaluationConfigOutputConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate: Prompt
// template used for inference.
type GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate struct {
	// GcsUri: Prompt template stored in Cloud Storage. Format:
	// "gs://my-bucket/file-name.txt".
	GcsUri string `json:"gcsUri,omitempty"`
	// PromptTemplate: Inline prompt template. Template variables should be in the
	// format "{var_name}". Example: "Translate the following from {source_lang} to
	// {target_lang}: {text}"
	PromptTemplate string `json:"promptTemplate,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsUri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunEvaluationConfigPromptTemplate
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunInferenceConfig: Defines the
// configuration for a candidate model or agent being evaluated.
// `InferenceConfig` encapsulates all the necessary information to invoke or
// scrape the candidate during the evaluation run. This includes direct model
// inference parameters, agent execution settings, and multi-turn scraping
// configurations (such as user simulators). It serves as the primary
// representation of the candidate across different stages of the evaluation
// process.
type GoogleCloudAiplatformV1EvaluationRunInferenceConfig struct {
	// AgentRunConfig: Optional. Agent run config.
	AgentRunConfig *GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfig `json:"agentRunConfig,omitempty"`
	// GenerationConfig: Optional. Generation config.
	GenerationConfig *GoogleCloudAiplatformV1GenerationConfig `json:"generationConfig,omitempty"`
	// Model: Optional. The fully qualified name of the publisher model or endpoint
	// to use. Anthropic and Llama third-party models are also supported through
	// Model Garden. Publisher model format:
	// `projects/{project}/locations/{location}/publishers/*/models/*` Third-party
	// model formats:
	// `projects/{project}/locations/{location}/publishers/anthropic/models/{model}`
	//  or
	// `projects/{project}/locations/{location}/publishers/llama/models/{model}`
	// Endpoint format:
	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
	Model string `json:"model,omitempty"`
	// Parallelism: Optional. The parallelism of the evaluation run for the
	// inference step. If not specified, the default parallelism will be used.
	Parallelism int64 `json:"parallelism,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentRunConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentRunConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunInferenceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunInferenceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfig:
// Configuration for Agent Run.
type GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfig struct {
	// AgentEngine: Optional. The resource name of the Agent Engine. Format:
	// projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}
	// For example: projects/123/locations/us-central1/reasoningEngines/456
	AgentEngine string `json:"agentEngine,omitempty"`
	// SessionInput: Optional. The session input to get agent running results.
	SessionInput *GoogleCloudAiplatformV1EvaluationRunInferenceConfigSessionInput `json:"sessionInput,omitempty"`
	// UserSimulatorConfig: The configuration for a user simulator that uses an LLM
	// to generate messages on behalf of the user.
	UserSimulatorConfig *GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfigUserSimulatorConfig `json:"userSimulatorConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentEngine") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentEngine") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfigUserSimulato
// rConfig: Used for multi-turn agent scraping. Contains configuration for a
// user simulator that uses an LLM to generate messages on behalf of the user.
type GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfigUserSimulatorConfig struct {
	// MaxTurn: Maximum number of invocations allowed by the multi-turn agent
	// scraping. This property allows us to stop a run-off conversation, where the
	// agent and the user simulator get into a never ending loop. The initial fixed
	// prompt is also counted as an invocation.
	MaxTurn int64 `json:"maxTurn,omitempty"`
	// ModelConfig: The configuration for the model.
	ModelConfig *GoogleCloudAiplatformV1GenerationConfig `json:"modelConfig,omitempty"`
	// ModelName: The model name to use for multi-turn agent scraping to get next
	// user message, e.g. "gemini-3-flash-preview".
	ModelName string `json:"modelName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxTurn") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxTurn") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfigUserSimulatorConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunInferenceConfigAgentRunConfigUserSimulatorConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunInferenceConfigSessionInput: Session
// input to run an Agent.
type GoogleCloudAiplatformV1EvaluationRunInferenceConfigSessionInput struct {
	// Parameters: Optional. Additional parameters for the session, like app_name,
	// etc. For example, {"app_name": "my-app"}.
	Parameters map[string]string `json:"parameters,omitempty"`
	// SessionState: Optional. Session specific memory which stores key
	// conversation points.
	SessionState googleapi.RawMessage `json:"sessionState,omitempty"`
	// UserId: Optional. The user id for the agent session. The ID can be up to 128
	// characters long.
	UserId string `json:"userId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parameters") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parameters") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunInferenceConfigSessionInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunInferenceConfigSessionInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunMetric: The metric used for evaluation
// runs.
type GoogleCloudAiplatformV1EvaluationRunMetric struct {
	// ComputationBasedMetricSpec: Spec for a computation based metric.
	ComputationBasedMetricSpec *GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec `json:"computationBasedMetricSpec,omitempty"`
	// LlmBasedMetricSpec: Spec for an LLM based metric.
	LlmBasedMetricSpec *GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec `json:"llmBasedMetricSpec,omitempty"`
	// Metric: Required. The name of the metric.
	Metric string `json:"metric,omitempty"`
	// MetricConfig: The metric config.
	MetricConfig *GoogleCloudAiplatformV1Metric `json:"metricConfig,omitempty"`
	// MetricResourceName: Optional. The resource name of the metric definition.
	MetricResourceName string `json:"metricResourceName,omitempty"`
	// PredefinedMetricSpec: Spec for a pre-defined metric.
	PredefinedMetricSpec *GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec `json:"predefinedMetricSpec,omitempty"`
	// RubricBasedMetricSpec: Spec for rubric based metric.
	RubricBasedMetricSpec *GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec `json:"rubricBasedMetricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ComputationBasedMetricSpec")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ComputationBasedMetricSpec") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunMetric) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunMetric
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec:
// Specification for a computation based metric.
type GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec struct {
	// Parameters: Optional. A map of parameters for the metric, e.g.
	// {"rouge_type": "rougeL"}.
	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
	// Type: Required. The type of the computation based metric.
	//
	// Possible values:
	//   "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED" - Unspecified computation
	// based metric type.
	//   "EXACT_MATCH" - Exact match metric.
	//   "BLEU" - BLEU metric.
	//   "ROUGE" - ROUGE metric.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parameters") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parameters") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec: Specification
// for an LLM based metric.
type GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec struct {
	// AdditionalConfig: Optional. Optional additional configuration for the
	// metric.
	AdditionalConfig googleapi.RawMessage `json:"additionalConfig,omitempty"`
	// JudgeAutoraterConfig: Optional. Optional configuration for the judge LLM
	// (Autorater).
	JudgeAutoraterConfig *GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig `json:"judgeAutoraterConfig,omitempty"`
	// MetricPromptTemplate: Required. Template for the prompt sent to the judge
	// model.
	MetricPromptTemplate string `json:"metricPromptTemplate,omitempty"`
	// PredefinedRubricGenerationSpec: Dynamically generate rubrics using a
	// predefined spec.
	PredefinedRubricGenerationSpec *GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec `json:"predefinedRubricGenerationSpec,omitempty"`
	// RubricGenerationSpec: Dynamically generate rubrics using this specification.
	RubricGenerationSpec *GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec `json:"rubricGenerationSpec,omitempty"`
	// RubricGroupKey: Use a pre-defined group of rubrics associated with the
	// input. Refers to a key in the rubric_groups map of EvaluationInstance.
	RubricGroupKey string `json:"rubricGroupKey,omitempty"`
	// SystemInstruction: Optional. System instructions for the judge model.
	SystemInstruction string `json:"systemInstruction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec:
// Specification for a pre-defined metric.
type GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec struct {
	// MetricSpecName: Required. The name of a pre-defined metric, such as
	// "instruction_following_v1" or "text_quality_v1".
	MetricSpecName string `json:"metricSpecName,omitempty"`
	// Parameters: Optional. The parameters needed to run the pre-defined metric.
	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MetricSpecName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetricSpecName") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunMetricPredefinedMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec:
// Specification for a metric that is based on rubrics.
type GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec struct {
	// InlineRubrics: Use rubrics provided directly in the spec.
	InlineRubrics *GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubrics `json:"inlineRubrics,omitempty"`
	// JudgeAutoraterConfig: Optional. Optional configuration for the judge LLM
	// (Autorater). The definition of AutoraterConfig needs to be provided.
	JudgeAutoraterConfig *GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig `json:"judgeAutoraterConfig,omitempty"`
	// MetricPromptTemplate: Optional. Template for the prompt used by the judge
	// model to evaluate against rubrics.
	MetricPromptTemplate string `json:"metricPromptTemplate,omitempty"`
	// RubricGenerationSpec: Dynamically generate rubrics for evaluation using this
	// specification.
	RubricGenerationSpec *GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec `json:"rubricGenerationSpec,omitempty"`
	// RubricGroupKey: Use a pre-defined group of rubrics associated with the input
	// content. This refers to a key in the `rubric_groups` map of
	// `RubricEnhancedContents`.
	RubricGroupKey string `json:"rubricGroupKey,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InlineRubrics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InlineRubrics") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubric
// s: Defines a list of rubrics, used when providing rubrics inline.
type GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubrics struct {
	// Rubrics: The list of rubrics.
	Rubrics []*GoogleCloudAiplatformV1Rubric `json:"rubrics,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Rubrics") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Rubrics") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpecRepeatedRubrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec:
// Specification for how rubrics should be generated.
type GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec struct {
	// MetricResourceName: Optional. Resource name of the metric definition.
	MetricResourceName string `json:"metricResourceName,omitempty"`
	// ModelConfig: Optional. Configuration for the model used in rubric
	// generation. Configs including sampling count and base model can be specified
	// here. Flipping is not supported for rubric generation.
	ModelConfig *GoogleCloudAiplatformV1EvaluationRunEvaluationConfigAutoraterConfig `json:"modelConfig,omitempty"`
	// PromptTemplate: Optional. Template for the prompt used to generate rubrics.
	// The details should be updated based on the most-recent recipe requirements.
	PromptTemplate string `json:"promptTemplate,omitempty"`
	// RubricContentType: Optional. The type of rubric content to be generated.
	//
	// Possible values:
	//   "RUBRIC_CONTENT_TYPE_UNSPECIFIED" - The content type to generate is not
	// specified.
	//   "PROPERTY" - Generate rubrics based on properties.
	//   "NL_QUESTION_ANSWER" - Generate rubrics in an NL question answer format.
	//   "PYTHON_CODE_ASSERTION" - Generate rubrics in a unit test format.
	RubricContentType string `json:"rubricContentType,omitempty"`
	// RubricTypeOntology: Optional. An optional, pre-defined list of allowed types
	// for generated rubrics. If this field is provided, it implies
	// `include_rubric_type` should be true, and the generated rubric types should
	// be chosen from this ontology.
	RubricTypeOntology []string `json:"rubricTypeOntology,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MetricResourceName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetricResourceName") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationRunMetricRubricGenerationSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EvaluationSet: EvaluationSet is a collection of
// related EvaluationItems that are evaluated together.
type GoogleCloudAiplatformV1EvaluationSet struct {
	// CreateTime: Output only. Timestamp when this item was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The display name of the EvaluationSet.
	DisplayName string `json:"displayName,omitempty"`
	// EvaluationItems: Required. The EvaluationItems that are part of this
	// dataset.
	EvaluationItems []string `json:"evaluationItems,omitempty"`
	// Metadata: Optional. Metadata for the EvaluationSet.
	Metadata interface{} `json:"metadata,omitempty"`
	// Name: Identifier. The resource name of the EvaluationSet. Format:
	// `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`
	Name string `json:"name,omitempty"`
	// UpdateTime: Output only. Timestamp when this item was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EvaluationSet) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluationSet
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Event: An edge describing the relationship between an
// Artifact and an Execution in a lineage graph.
type GoogleCloudAiplatformV1Event struct {
	// Artifact: Required. The relative resource name of the Artifact in the Event.
	Artifact string `json:"artifact,omitempty"`
	// EventTime: Output only. Time the Event occurred.
	EventTime string `json:"eventTime,omitempty"`
	// Execution: Output only. The relative resource name of the Execution in the
	// Event.
	Execution string `json:"execution,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Type: Required. The type of the Event.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Unspecified whether input or output of the Execution.
	//   "INPUT" - An input of the Execution.
	//   "OUTPUT" - An output of the Execution.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Artifact") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Artifact") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Event) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Event
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EventActions: Actions are parts of events that are
// executed by the agent.
type GoogleCloudAiplatformV1EventActions struct {
	// ArtifactDelta: Optional. Indicates that the event is updating an artifact.
	// key is the filename, value is the version.
	ArtifactDelta map[string]int64 `json:"artifactDelta,omitempty"`
	// Escalate: Optional. The agent is escalating to a higher level agent.
	Escalate bool `json:"escalate,omitempty"`
	// RequestedAuthConfigs: Optional. Will only be set by a tool response
	// indicating tool request euc. Struct key is the function call id since one
	// function call response (from model) could correspond to multiple function
	// calls. Struct value is the required auth config, which can be another
	// struct.
	RequestedAuthConfigs googleapi.RawMessage `json:"requestedAuthConfigs,omitempty"`
	// SkipSummarization: Optional. If true, it won't call model to summarize
	// function response. Only used for function_response event.
	SkipSummarization bool `json:"skipSummarization,omitempty"`
	// StateDelta: Optional. Indicates that the event is updating the state with
	// the given delta.
	StateDelta googleapi.RawMessage `json:"stateDelta,omitempty"`
	// TransferAgent: Optional. If set, the event transfers to the specified agent.
	TransferAgent string `json:"transferAgent,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArtifactDelta") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactDelta") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EventActions) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EventActions
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1EventMetadata: Metadata relating to a LLM response
// event.
type GoogleCloudAiplatformV1EventMetadata struct {
	// Branch: Optional. The branch of the event. The format is like
	// agent_1.agent_2.agent_3, where agent_1 is the parent of agent_2, and agent_2
	// is the parent of agent_3. Branch is used when multiple child agents
	// shouldn't see their siblings' conversation history.
	Branch string `json:"branch,omitempty"`
	// CustomMetadata: The custom metadata of the LlmResponse.
	CustomMetadata googleapi.RawMessage `json:"customMetadata,omitempty"`
	// GroundingMetadata: Optional. Metadata returned to client when grounding is
	// enabled.
	GroundingMetadata *GoogleCloudAiplatformV1GroundingMetadata `json:"groundingMetadata,omitempty"`
	// InputTranscription: Optional. Audio transcription of user input.
	InputTranscription *GoogleCloudAiplatformV1Transcription `json:"inputTranscription,omitempty"`
	// Interrupted: Optional. Flag indicating that LLM was interrupted when
	// generating the content. Usually it's due to user interruption during a bidi
	// streaming.
	Interrupted bool `json:"interrupted,omitempty"`
	// LongRunningToolIds: Optional. Set of ids of the long running function calls.
	// Agent client will know from this field about which function call is long
	// running. Only valid for function call event.
	LongRunningToolIds []string `json:"longRunningToolIds,omitempty"`
	// OutputTranscription: Optional. Audio transcription of model output.
	OutputTranscription *GoogleCloudAiplatformV1Transcription `json:"outputTranscription,omitempty"`
	// Partial: Optional. Indicates whether the text content is part of a
	// unfinished text stream. Only used for streaming mode and when the content is
	// plain text.
	Partial bool `json:"partial,omitempty"`
	// TurnComplete: Optional. Indicates whether the response from the model is
	// complete. Only used for streaming mode.
	TurnComplete bool `json:"turnComplete,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Branch") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Branch") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1EventMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EventMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExactMatchInput: Input for exact match metric.
type GoogleCloudAiplatformV1ExactMatchInput struct {
	// Instances: Required. Repeated exact match instances.
	Instances []*GoogleCloudAiplatformV1ExactMatchInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for exact match metric.
	MetricSpec *GoogleCloudAiplatformV1ExactMatchSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExactMatchInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExactMatchInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExactMatchInstance: Spec for exact match instance.
type GoogleCloudAiplatformV1ExactMatchInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Required. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExactMatchInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExactMatchInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExactMatchMetricValue: Exact match metric value for
// an instance.
type GoogleCloudAiplatformV1ExactMatchMetricValue struct {
	// Score: Output only. Exact match score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExactMatchMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExactMatchMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ExactMatchMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ExactMatchMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1ExactMatchResults: Results for exact match metric.
type GoogleCloudAiplatformV1ExactMatchResults struct {
	// ExactMatchMetricValues: Output only. Exact match metric values.
	ExactMatchMetricValues []*GoogleCloudAiplatformV1ExactMatchMetricValue `json:"exactMatchMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExactMatchMetricValues") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExactMatchMetricValues") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExactMatchResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExactMatchResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExactMatchSpec: Spec for exact match metric - returns
// 1 if prediction and reference exactly matches, otherwise 0.
type GoogleCloudAiplatformV1ExactMatchSpec struct {
}

// GoogleCloudAiplatformV1Examples: Example-based explainability that returns
// the nearest neighbors from the provided dataset.
type GoogleCloudAiplatformV1Examples struct {
	// ExampleGcsSource: The Cloud Storage input instances.
	ExampleGcsSource *GoogleCloudAiplatformV1ExamplesExampleGcsSource `json:"exampleGcsSource,omitempty"`
	// NearestNeighborSearchConfig: The full configuration for the generated index,
	// the semantics are the same as metadata and should match
	// NearestNeighborSearchConfig
	// (https://cloud.google.com/vertex-ai/docs/explainable-ai/configuring-explanations-example-based#nearest-neighbor-search-config).
	NearestNeighborSearchConfig interface{} `json:"nearestNeighborSearchConfig,omitempty"`
	// NeighborCount: The number of neighbors to return when querying for examples.
	NeighborCount int64 `json:"neighborCount,omitempty"`
	// Presets: Simplified preset configuration, which automatically sets
	// configuration values based on the desired query speed-precision trade-off
	// and modality.
	Presets *GoogleCloudAiplatformV1Presets `json:"presets,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExampleGcsSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExampleGcsSource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Examples) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Examples
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExamplesExampleGcsSource: The Cloud Storage input
// instances.
type GoogleCloudAiplatformV1ExamplesExampleGcsSource struct {
	// DataFormat: The format in which instances are given, if not specified,
	// assume it's JSONL format. Currently only JSONL format is supported.
	//
	// Possible values:
	//   "DATA_FORMAT_UNSPECIFIED" - Format unspecified, used when unset.
	//   "JSONL" - Examples are stored in JSONL files.
	DataFormat string `json:"dataFormat,omitempty"`
	// GcsSource: The Cloud Storage location for the input instances.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataFormat") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataFormat") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExamplesExampleGcsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExamplesExampleGcsSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExamplesOverride: Overrides for example-based
// explanations.
type GoogleCloudAiplatformV1ExamplesOverride struct {
	// CrowdingCount: The number of neighbors to return that have the same crowding
	// tag.
	CrowdingCount int64 `json:"crowdingCount,omitempty"`
	// DataFormat: The format of the data being provided with each call.
	//
	// Possible values:
	//   "DATA_FORMAT_UNSPECIFIED" - Unspecified format. Must not be used.
	//   "INSTANCES" - Provided data is a set of model inputs.
	//   "EMBEDDINGS" - Provided data is a set of embeddings.
	DataFormat string `json:"dataFormat,omitempty"`
	// NeighborCount: The number of neighbors to return.
	NeighborCount int64 `json:"neighborCount,omitempty"`
	// Restrictions: Restrict the resulting nearest neighbors to respect these
	// constraints.
	Restrictions []*GoogleCloudAiplatformV1ExamplesRestrictionsNamespace `json:"restrictions,omitempty"`
	// ReturnEmbeddings: If true, return the embeddings instead of neighbors.
	ReturnEmbeddings bool `json:"returnEmbeddings,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CrowdingCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CrowdingCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExamplesOverride) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExamplesOverride
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExamplesRestrictionsNamespace: Restrictions namespace
// for example-based explanations overrides.
type GoogleCloudAiplatformV1ExamplesRestrictionsNamespace struct {
	// Allow: The list of allowed tags.
	Allow []string `json:"allow,omitempty"`
	// Deny: The list of deny tags.
	Deny []string `json:"deny,omitempty"`
	// NamespaceName: The namespace name.
	NamespaceName string `json:"namespaceName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allow") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allow") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExamplesRestrictionsNamespace) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExamplesRestrictionsNamespace
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExecutableCode: Code generated by the model that is
// meant to be executed, and the result returned to the model. Generated when
// using the `CodeExecution` tool, in which the code will be automatically
// executed, and a corresponding CodeExecutionResult will also be generated.
type GoogleCloudAiplatformV1ExecutableCode struct {
	// Code: Required. The code to be executed.
	Code string `json:"code,omitempty"`
	// Language: Required. Programming language of the `code`.
	//
	// Possible values:
	//   "LANGUAGE_UNSPECIFIED" - Unspecified language. This value should not be
	// used.
	//   "PYTHON" - Python >= 3.10, with numpy and simpy available.
	Language string `json:"language,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Code") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExecutableCode) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExecutableCode
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExecuteCodeRequest: Request message for
// SandboxEnvironmentExecutionService.ExecuteCode.
type GoogleCloudAiplatformV1ExecuteCodeRequest struct {
	// Inputs: Required. The inputs used for the stateless code execution.
	Inputs []*GoogleCloudAiplatformV1Chunk `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExecuteCodeRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExecuteCodeRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExecuteCodeResponse: Response message for
// SandboxEnvironmentExecutionService.ExecuteCode.
type GoogleCloudAiplatformV1ExecuteCodeResponse struct {
	// Outputs: The outputs from the sandbox environment.
	Outputs []*GoogleCloudAiplatformV1Chunk `json:"outputs,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Outputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Outputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExecuteCodeResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExecuteCodeResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest: Request message for
// SandboxEnvironmentExecutionService.Execute.
type GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest struct {
	// Inputs: Required. The inputs to the sandbox environment.
	Inputs []*GoogleCloudAiplatformV1Chunk `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse: Response message
// for SandboxEnvironmentExecutionService.Execute.
type GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse struct {
	// Outputs: The outputs from the sandbox environment.
	Outputs []*GoogleCloudAiplatformV1Chunk `json:"outputs,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Outputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Outputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Execution: Instance of a general execution.
type GoogleCloudAiplatformV1Execution struct {
	// CreateTime: Output only. Timestamp when this Execution was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of the Execution
	Description string `json:"description,omitempty"`
	// DisplayName: User provided display name of the Execution. May be up to 128
	// Unicode characters.
	DisplayName string `json:"displayName,omitempty"`
	// Etag: An eTag used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Metadata: 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 googleapi.RawMessage `json:"metadata,omitempty"`
	// Name: Output only. The resource name of the Execution.
	Name string `json:"name,omitempty"`
	// SchemaTitle: 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 `json:"schemaTitle,omitempty"`
	// SchemaVersion: 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 `json:"schemaVersion,omitempty"`
	// State: 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.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Unspecified Execution state
	//   "NEW" - The Execution is new
	//   "RUNNING" - The Execution is running
	//   "COMPLETE" - The Execution has finished running
	//   "FAILED" - The Execution has failed
	//   "CACHED" - The Execution completed through Cache hit.
	//   "CANCELLED" - The Execution was cancelled.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Timestamp when this Execution was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Execution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Execution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplainRequest: Request message for
// PredictionService.Explain.
type GoogleCloudAiplatformV1ExplainRequest struct {
	// DeployedModelId: If specified, this ExplainRequest will be served by the
	// chosen DeployedModel, overriding Endpoint.traffic_split.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// ExplanationSpecOverride: If specified, overrides the 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 *GoogleCloudAiplatformV1ExplanationSpecOverride `json:"explanationSpecOverride,omitempty"`
	// Instances: 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 PredictSchemata's
	// instance_schema_uri.
	Instances []interface{} `json:"instances,omitempty"`
	// Parameters: The parameters that govern the prediction. The schema of the
	// parameters may be specified via Endpoint's DeployedModels' Model's
	// PredictSchemata's parameters_schema_uri.
	Parameters interface{} `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplainRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplainRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplainResponse: Response message for
// PredictionService.Explain.
type GoogleCloudAiplatformV1ExplainResponse struct {
	// DeployedModelId: ID of the Endpoint's DeployedModel that served this
	// explanation.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// Explanations: The explanations of the Model's PredictResponse.predictions.
	// It has the same number of elements as instances to be explained.
	Explanations []*GoogleCloudAiplatformV1Explanation `json:"explanations,omitempty"`
	// Predictions: The predictions that are the output of the predictions call.
	// Same as PredictResponse.predictions.
	Predictions []interface{} `json:"predictions,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplainResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplainResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Explanation: Explanation of a prediction (provided in
// PredictResponse.predictions) produced by the Model on a given instance.
type GoogleCloudAiplatformV1Explanation struct {
	// Attributions: 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 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, the attributions
	// are sorted by instance_output_value in descending order. If
	// ExplanationParameters.output_indices is specified, the attributions are
	// stored by Attribution.output_index in the same order as they appear in the
	// output_indices.
	Attributions []*GoogleCloudAiplatformV1Attribution `json:"attributions,omitempty"`
	// Neighbors: 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 []*GoogleCloudAiplatformV1Neighbor `json:"neighbors,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Attributions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Attributions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Explanation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Explanation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationMetadata: Metadata describing the Model's
// input and output for explanation.
type GoogleCloudAiplatformV1ExplanationMetadata struct {
	// FeatureAttributionsSchemaUri: Points to a YAML file stored on Google Cloud
	// Storage describing the format of the 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 `json:"featureAttributionsSchemaUri,omitempty"`
	// Inputs: 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. 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 are keyed by this key (if not grouped with another
	// feature). For custom images, the key must match with the key in instance.
	Inputs map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadata `json:"inputs,omitempty"`
	// LatentSpaceSource: Name of the source to generate embeddings for example
	// based explanations.
	LatentSpaceSource string `json:"latentSpaceSource,omitempty"`
	// Outputs: 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]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata `json:"outputs,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "FeatureAttributionsSchemaUri") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureAttributionsSchemaUri") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationMetadataInputMetadata: Metadata of the
// input of a feature. Fields other than InputMetadata.input_baselines are
// applicable only for Models that are using Vertex AI-provided images for
// Tensorflow.
type GoogleCloudAiplatformV1ExplanationMetadataInputMetadata struct {
	// DenseShapeTensorName: 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 `json:"denseShapeTensorName,omitempty"`
	// EncodedBaselines: 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 []interface{} `json:"encodedBaselines,omitempty"`
	// EncodedTensorName: Encoded tensor is a transformation of the input tensor.
	// Must be provided if choosing Integrated Gradients attribution or 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 `json:"encodedTensorName,omitempty"`
	// Encoding: Defines how the feature is encoded into the input tensor. Defaults
	// to IDENTITY.
	//
	// Possible values:
	//   "ENCODING_UNSPECIFIED" - Default value. This is the same as IDENTITY.
	//   "IDENTITY" - The tensor represents one feature.
	//   "BAG_OF_FEATURES" - The tensor represents a bag of features where each
	// index maps to a feature. InputMetadata.index_feature_mapping must be
	// provided for this encoding. For example: ``` input = [27, 6.0, 150]
	// index_feature_mapping = ["age", "height", "weight"] ```
	//   "BAG_OF_FEATURES_SPARSE" - 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 must be provided for
	// this encoding. For example: ``` input = [2, 0, 5, 0, 1]
	// index_feature_mapping = ["a", "b", "c", "d", "e"] ```
	//   "INDICATOR" - The tensor is a list of binaries representing whether a
	// feature exists or not (1 indicates existence).
	// 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"] ```
	//   "COMBINED_EMBEDDING" - The tensor is encoded into a 1-dimensional array
	// represented by an encoded tensor. 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] ```
	//   "CONCAT_EMBEDDING" - Select this encoding when the input tensor is encoded
	// into a 2-dimensional array represented by an encoded tensor.
	// 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]] ```
	Encoding string `json:"encoding,omitempty"`
	// FeatureValueDomain: The domain details of the input feature value. Like
	// min/max, original mean or standard deviation if normalized.
	FeatureValueDomain *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain `json:"featureValueDomain,omitempty"`
	// GroupName: 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, keyed by the group name.
	GroupName string `json:"groupName,omitempty"`
	// IndexFeatureMapping: A list of feature names for each index in the input
	// tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES,
	// BAG_OF_FEATURES_SPARSE, INDICATOR.
	IndexFeatureMapping []string `json:"indexFeatureMapping,omitempty"`
	// IndicesTensorName: 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 `json:"indicesTensorName,omitempty"`
	// InputBaselines: 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. 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[]. The schema of
	// any single instance may be specified via Endpoint's DeployedModels' Model's
	// PredictSchemata's instance_schema_uri.
	InputBaselines []interface{} `json:"inputBaselines,omitempty"`
	// InputTensorName: Name of the input tensor for this feature. Required and is
	// only applicable to Vertex AI-provided images for Tensorflow.
	InputTensorName string `json:"inputTensorName,omitempty"`
	// Modality: Modality of the feature. Valid values are: numeric, image.
	// Defaults to numeric.
	Modality string `json:"modality,omitempty"`
	// Visualization: Visualization configurations for image explanation.
	Visualization *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization `json:"visualization,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DenseShapeTensorName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DenseShapeTensorName") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataInputMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain:
// 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 GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain struct {
	// MaxValue: The maximum permissible value for this feature.
	MaxValue float64 `json:"maxValue,omitempty"`
	// MinValue: The minimum permissible value for this feature.
	MinValue float64 `json:"minValue,omitempty"`
	// OriginalMean: 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 float64 `json:"originalMean,omitempty"`
	// OriginalStddev: 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 float64 `json:"originalStddev,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain
	var s1 struct {
		MaxValue       gensupport.JSONFloat64 `json:"maxValue"`
		MinValue       gensupport.JSONFloat64 `json:"minValue"`
		OriginalMean   gensupport.JSONFloat64 `json:"originalMean"`
		OriginalStddev gensupport.JSONFloat64 `json:"originalStddev"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.MaxValue = float64(s1.MaxValue)
	s.MinValue = float64(s1.MinValue)
	s.OriginalMean = float64(s1.OriginalMean)
	s.OriginalStddev = float64(s1.OriginalStddev)
	return nil
}

// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization:
// Visualization configurations for image explanation.
type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization struct {
	// ClipPercentLowerbound: Excludes attributions below the specified percentile,
	// from the highlighted areas. Defaults to 62.
	ClipPercentLowerbound float64 `json:"clipPercentLowerbound,omitempty"`
	// ClipPercentUpperbound: 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 float64 `json:"clipPercentUpperbound,omitempty"`
	// ColorMap: The color scheme used for the highlighted areas. Defaults to
	// PINK_GREEN for Integrated Gradients attribution, which shows positive
	// attributions in green and negative in pink. Defaults to VIRIDIS for XRAI
	// attribution, which highlights the most influential regions in yellow and the
	// least influential in blue.
	//
	// Possible values:
	//   "COLOR_MAP_UNSPECIFIED" - Should not be used.
	//   "PINK_GREEN" - Positive: green. Negative: pink.
	//   "VIRIDIS" - 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.
	//   "RED" - Positive: red. Negative: red.
	//   "GREEN" - Positive: green. Negative: green.
	//   "RED_GREEN" - Positive: green. Negative: red.
	//   "PINK_WHITE_GREEN" - PiYG palette.
	ColorMap string `json:"colorMap,omitempty"`
	// OverlayType: 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.
	//
	// Possible values:
	//   "OVERLAY_TYPE_UNSPECIFIED" - Default value. This is the same as NONE.
	//   "NONE" - No overlay.
	//   "ORIGINAL" - The attributions are shown on top of the original image.
	//   "GRAYSCALE" - The attributions are shown on top of grayscaled version of
	// the original image.
	//   "MASK_BLACK" - The attributions are used as a mask to reveal predictive
	// parts of the image and hide the un-predictive parts.
	OverlayType string `json:"overlayType,omitempty"`
	// Polarity: Whether to only highlight pixels with positive contributions,
	// negative or both. Defaults to POSITIVE.
	//
	// Possible values:
	//   "POLARITY_UNSPECIFIED" - Default value. This is the same as POSITIVE.
	//   "POSITIVE" - Highlights the pixels/outlines that were most influential to
	// the model's prediction.
	//   "NEGATIVE" - Setting polarity to negative highlights areas that does not
	// lead to the models's current prediction.
	//   "BOTH" - Shows both positive and negative attributions.
	Polarity string `json:"polarity,omitempty"`
	// Type: Type of the image visualization. Only applicable to Integrated
	// Gradients attribution. OUTLINES shows regions of attribution, while PIXELS
	// shows per-pixel attribution. Defaults to OUTLINES.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Should not be used.
	//   "PIXELS" - Shows which pixel contributed to the image prediction.
	//   "OUTLINES" - Shows which region contributed to the image prediction by
	// outlining the region.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClipPercentLowerbound") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClipPercentLowerbound") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization
	var s1 struct {
		ClipPercentLowerbound gensupport.JSONFloat64 `json:"clipPercentLowerbound"`
		ClipPercentUpperbound gensupport.JSONFloat64 `json:"clipPercentUpperbound"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ClipPercentLowerbound = float64(s1.ClipPercentLowerbound)
	s.ClipPercentUpperbound = float64(s1.ClipPercentUpperbound)
	return nil
}

// GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata: Metadata of the
// prediction output to be explained.
type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata struct {
	// DisplayNameMappingKey: 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 for a
	// specific output.
	DisplayNameMappingKey string `json:"displayNameMappingKey,omitempty"`
	// IndexDisplayNameMapping: 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 is populated by locating in
	// the mapping with Attribution.output_index.
	IndexDisplayNameMapping interface{} `json:"indexDisplayNameMapping,omitempty"`
	// OutputTensorName: Name of the output tensor. Required and is only applicable
	// to Vertex AI provided images for Tensorflow.
	OutputTensorName string `json:"outputTensorName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayNameMappingKey") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayNameMappingKey") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationMetadataOverride: The ExplanationMetadata
// entries that can be overridden at online explanation time.
type GoogleCloudAiplatformV1ExplanationMetadataOverride struct {
	// Inputs: Required. Overrides the input metadata 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]GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationMetadataOverride) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataOverride
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride: The
// input metadata entries to be overridden.
type GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride struct {
	// InputBaselines: Baseline inputs for this feature. This overrides the
	// `input_baseline` field of the ExplanationMetadata.InputMetadata object of
	// the corresponding feature's input metadata. If it's not specified, the
	// original baselines are not overridden.
	InputBaselines []interface{} `json:"inputBaselines,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InputBaselines") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InputBaselines") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationParameters: Parameters to configure
// explaining for Model's predictions.
type GoogleCloudAiplatformV1ExplanationParameters struct {
	// Examples: Example-based explanations that returns the nearest neighbors from
	// the provided dataset.
	Examples *GoogleCloudAiplatformV1Examples `json:"examples,omitempty"`
	// IntegratedGradientsAttribution: 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 *GoogleCloudAiplatformV1IntegratedGradientsAttribution `json:"integratedGradientsAttribution,omitempty"`
	// OutputIndices: If populated, only returns attributions that have
	// 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 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 []interface{} `json:"outputIndices,omitempty"`
	// SampledShapleyAttribution: 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 *GoogleCloudAiplatformV1SampledShapleyAttribution `json:"sampledShapleyAttribution,omitempty"`
	// TopK: 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 int64 `json:"topK,omitempty"`
	// XraiAttribution: 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 *GoogleCloudAiplatformV1XraiAttribution `json:"xraiAttribution,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Examples") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Examples") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationParameters
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationSpec: Specification of Model explanation.
type GoogleCloudAiplatformV1ExplanationSpec struct {
	// Metadata: Optional. Metadata describing the Model's input and output for
	// explanation.
	Metadata *GoogleCloudAiplatformV1ExplanationMetadata `json:"metadata,omitempty"`
	// Parameters: Required. Parameters that configure explaining of the Model's
	// predictions.
	Parameters *GoogleCloudAiplatformV1ExplanationParameters `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Metadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Metadata") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExplanationSpecOverride: The ExplanationSpec entries
// that can be overridden at online explanation time.
type GoogleCloudAiplatformV1ExplanationSpecOverride struct {
	// ExamplesOverride: The example-based explanations parameter overrides.
	ExamplesOverride *GoogleCloudAiplatformV1ExamplesOverride `json:"examplesOverride,omitempty"`
	// Metadata: The metadata to be overridden. If not specified, no metadata is
	// overridden.
	Metadata *GoogleCloudAiplatformV1ExplanationMetadataOverride `json:"metadata,omitempty"`
	// Parameters: The parameters to be overridden. Note that the attribution
	// method cannot be changed. If not specified, no parameter is overridden.
	Parameters *GoogleCloudAiplatformV1ExplanationParameters `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExamplesOverride") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExamplesOverride") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExplanationSpecOverride) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationSpecOverride
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportDataConfig: Describes what part of the Dataset
// is to be exported, the destination of the export and how to export.
type GoogleCloudAiplatformV1ExportDataConfig struct {
	// AnnotationSchemaUri: The 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 of the Dataset specified by
	// ExportDataRequest.name. Only used for custom training data export use cases.
	// Only applicable to Datasets that have DataItems and Annotations. 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, the Annotations used for training are
	// filtered by both annotations_filter and annotation_schema_uri.
	AnnotationSchemaUri string `json:"annotationSchemaUri,omitempty"`
	// AnnotationsFilter: 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.
	AnnotationsFilter string `json:"annotationsFilter,omitempty"`
	// ExportUse: Indicates the usage of the exported files.
	//
	// Possible values:
	//   "EXPORT_USE_UNSPECIFIED" - Regular user export.
	//   "CUSTOM_CODE_TRAINING" - Export for custom code training.
	ExportUse string `json:"exportUse,omitempty"`
	// FilterSplit: Split based on the provided filters for each set.
	FilterSplit *GoogleCloudAiplatformV1ExportFilterSplit `json:"filterSplit,omitempty"`
	// FractionSplit: Split based on fractions defining the size of each set.
	FractionSplit *GoogleCloudAiplatformV1ExportFractionSplit `json:"fractionSplit,omitempty"`
	// GcsDestination: 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 *GoogleCloudAiplatformV1GcsDestination `json:"gcsDestination,omitempty"`
	// SavedQueryId: The ID of a SavedQuery (annotation set) under the Dataset
	// specified by ExportDataRequest.name used for filtering Annotations for
	// training. Only used for custom training data export use cases. Only
	// applicable to Datasets that have SavedQueries. Only Annotations that are
	// associated with this SavedQuery are used in respectively training. When used
	// in conjunction with annotations_filter, the Annotations used for training
	// are filtered by both saved_query_id and annotations_filter. Only one of
	// saved_query_id and annotation_schema_uri should be specified as both of them
	// represent the same thing: problem type.
	SavedQueryId string `json:"savedQueryId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSchemaUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSchemaUri") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportDataConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportDataConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportDataOperationMetadata: Runtime operation
// information for DatasetService.ExportData.
type GoogleCloudAiplatformV1ExportDataOperationMetadata struct {
	// GcsOutputDirectory: A Google Cloud Storage directory which path ends with
	// '/'. The exported data is stored in the directory.
	GcsOutputDirectory string `json:"gcsOutputDirectory,omitempty"`
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsOutputDirectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsOutputDirectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportDataOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportDataOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportDataRequest: Request message for
// DatasetService.ExportData.
type GoogleCloudAiplatformV1ExportDataRequest struct {
	// ExportConfig: Required. The desired output location.
	ExportConfig *GoogleCloudAiplatformV1ExportDataConfig `json:"exportConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExportConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExportConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportDataRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportDataResponse: Response message for
// DatasetService.ExportData.
type GoogleCloudAiplatformV1ExportDataResponse struct {
	// DataStats: Only present for custom code training export use case. Records
	// data stats, i.e., train/validation/test item/annotation counts calculated
	// during the export operation.
	DataStats *GoogleCloudAiplatformV1ModelDataStats `json:"dataStats,omitempty"`
	// ExportedFiles: 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 `json:"exportedFiles,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataStats") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataStats") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportDataResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata: Details of
// operations that exports Features values.
type GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata struct {
	// GenericMetadata: Operation metadata for Featurestore export Feature values.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportFeatureValuesRequest: Request message for
// FeaturestoreService.ExportFeatureValues.
type GoogleCloudAiplatformV1ExportFeatureValuesRequest struct {
	// Destination: Required. Specifies destination location and format.
	Destination *GoogleCloudAiplatformV1FeatureValueDestination `json:"destination,omitempty"`
	// FeatureSelector: Required. Selects Features to export values of.
	FeatureSelector *GoogleCloudAiplatformV1FeatureSelector `json:"featureSelector,omitempty"`
	// FullExport: Exports all historical values of all entities of the EntityType
	// within a time range
	FullExport *GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport `json:"fullExport,omitempty"`
	// Settings: Per-Feature export settings.
	Settings []*GoogleCloudAiplatformV1DestinationFeatureSetting `json:"settings,omitempty"`
	// SnapshotExport: Exports the latest Feature values of all entities of the
	// EntityType within a time range.
	SnapshotExport *GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport `json:"snapshotExport,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Destination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Destination") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport: Describes
// exporting all historical Feature values of all entities of the EntityType
// between [start_time, end_time].
type GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport struct {
	// EndTime: 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 string `json:"endTime,omitempty"`
	// StartTime: 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 string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport: Describes
// exporting the latest Feature values of all entities of the EntityType
// between [start_time, snapshot_time].
type GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport struct {
	// SnapshotTime: 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 string `json:"snapshotTime,omitempty"`
	// StartTime: 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 string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SnapshotTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SnapshotTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportFeatureValuesResponse: Response message for
// FeaturestoreService.ExportFeatureValues.
type GoogleCloudAiplatformV1ExportFeatureValuesResponse struct {
}

// GoogleCloudAiplatformV1ExportFilterSplit: Assigns input data to training,
// validation, and test sets based on the given filters, data pieces not
// matched by any filter are ignored. Currently only supported for Datasets
// containing DataItems. If any of the filters in this message are to match
// nothing, then they can be set as '-' (the minus sign). Supported only for
// unstructured Datasets.
type GoogleCloudAiplatformV1ExportFilterSplit struct {
	// TestFilter: Required. A filter on DataItems of the Dataset. DataItems that
	// match this filter are used to test the Model. A filter with same syntax as
	// the one used in DatasetService.ListDataItems may be used. If a single
	// DataItem is matched by more than one of the FilterSplit filters, then it is
	// assigned to the first set that applies to it in the training, validation,
	// test order.
	TestFilter string `json:"testFilter,omitempty"`
	// TrainingFilter: Required. A filter on DataItems of the Dataset. DataItems
	// that match this filter are used to train the Model. A filter with same
	// syntax as the one used in DatasetService.ListDataItems may be used. If a
	// single DataItem is matched by more than one of the FilterSplit filters, then
	// it is assigned to the first set that applies to it in the training,
	// validation, test order.
	TrainingFilter string `json:"trainingFilter,omitempty"`
	// ValidationFilter: Required. A filter on DataItems of the Dataset. DataItems
	// that match this filter are used to validate the Model. A filter with same
	// syntax as the one used in DatasetService.ListDataItems may be used. If a
	// single DataItem is matched by more than one of the FilterSplit filters, then
	// it is assigned to the first set that applies to it in the training,
	// validation, test order.
	ValidationFilter string `json:"validationFilter,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TestFilter") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TestFilter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportFilterSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFilterSplit
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportFractionSplit: 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 GoogleCloudAiplatformV1ExportFractionSplit struct {
	// TestFraction: The fraction of the input data that is to be used to evaluate
	// the Model.
	TestFraction float64 `json:"testFraction,omitempty"`
	// TrainingFraction: The fraction of the input data that is to be used to train
	// the Model.
	TrainingFraction float64 `json:"trainingFraction,omitempty"`
	// ValidationFraction: The fraction of the input data that is to be used to
	// validate the Model.
	ValidationFraction float64 `json:"validationFraction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TestFraction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TestFraction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportFractionSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFractionSplit
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ExportFractionSplit) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ExportFractionSplit
	var s1 struct {
		TestFraction       gensupport.JSONFloat64 `json:"testFraction"`
		TrainingFraction   gensupport.JSONFloat64 `json:"trainingFraction"`
		ValidationFraction gensupport.JSONFloat64 `json:"validationFraction"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.TestFraction = float64(s1.TestFraction)
	s.TrainingFraction = float64(s1.TrainingFraction)
	s.ValidationFraction = float64(s1.ValidationFraction)
	return nil
}

// GoogleCloudAiplatformV1ExportModelOperationMetadata: Details of
// ModelService.ExportModel operation.
type GoogleCloudAiplatformV1ExportModelOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// OutputInfo: Output only. Information further describing the output of this
	// Model export.
	OutputInfo *GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo `json:"outputInfo,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo: Further
// describes the output of the ExportModel. Supplements
// ExportModelRequest.OutputConfig.
type GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo struct {
	// ArtifactOutputUri: 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 `json:"artifactOutputUri,omitempty"`
	// ImageOutputUri: 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 `json:"imageOutputUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArtifactOutputUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactOutputUri") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportModelRequest: Request message for
// ModelService.ExportModel.
type GoogleCloudAiplatformV1ExportModelRequest struct {
	// OutputConfig: Required. The desired output location and configuration.
	OutputConfig *GoogleCloudAiplatformV1ExportModelRequestOutputConfig `json:"outputConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportModelRequestOutputConfig: Output configuration
// for the Model export.
type GoogleCloudAiplatformV1ExportModelRequestOutputConfig struct {
	// ArtifactDestination: 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 *GoogleCloudAiplatformV1GcsDestination `json:"artifactDestination,omitempty"`
	// ExportFormatId: The ID of the format in which the Model must be exported.
	// Each Model lists the export formats it supports. If no value is provided
	// here, then the first from the list of the Model's supported formats is used
	// by default.
	ExportFormatId string `json:"exportFormatId,omitempty"`
	// ImageDestination: 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 *GoogleCloudAiplatformV1ContainerRegistryDestination `json:"imageDestination,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArtifactDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactDestination") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportModelRequestOutputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelRequestOutputConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportModelResponse: Response message of
// ModelService.ExportModel operation.
type GoogleCloudAiplatformV1ExportModelResponse struct {
}

// GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest: Request
// message for TensorboardService.ExportTensorboardTimeSeriesData.
type GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest struct {
	// Filter: Exports the TensorboardTimeSeries' data that match the filter
	// expression.
	Filter string `json:"filter,omitempty"`
	// OrderBy: Field to use to sort the TensorboardTimeSeries' data. By default,
	// TensorboardTimeSeries' data is returned in a pseudo random order.
	OrderBy string `json:"orderBy,omitempty"`
	// PageSize: 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 int64 `json:"pageSize,omitempty"`
	// PageToken: A page token, received from a previous
	// ExportTensorboardTimeSeriesData call. Provide this to retrieve the
	// subsequent page. When paginating, all other parameters provided to
	// ExportTensorboardTimeSeriesData must match the call that provided the page
	// token.
	PageToken string `json:"pageToken,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse: Response
// message for TensorboardService.ExportTensorboardTimeSeriesData.
type GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse struct {
	// NextPageToken: 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 `json:"nextPageToken,omitempty"`
	// TimeSeriesDataPoints: The returned time series data points.
	TimeSeriesDataPoints []*GoogleCloudAiplatformV1TimeSeriesDataPoint `json:"timeSeriesDataPoints,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExternalApi: Retrieve from data source powered by
// external API for grounding. The external API is not owned by Google, but
// need to follow the pre-defined API spec.
type GoogleCloudAiplatformV1ExternalApi struct {
	// ApiAuth: The authentication config to access the API. Deprecated. Please use
	// auth_config instead.
	ApiAuth *GoogleCloudAiplatformV1ApiAuth `json:"apiAuth,omitempty"`
	// ApiSpec: The API spec that the external API implements.
	//
	// Possible values:
	//   "API_SPEC_UNSPECIFIED" - Unspecified API spec. This value should not be
	// used.
	//   "SIMPLE_SEARCH" - Simple search API spec.
	//   "ELASTIC_SEARCH" - Elastic search API spec.
	ApiSpec string `json:"apiSpec,omitempty"`
	// AuthConfig: The authentication config to access the API.
	AuthConfig *GoogleCloudAiplatformV1AuthConfig `json:"authConfig,omitempty"`
	// ElasticSearchParams: Parameters for the elastic search API.
	ElasticSearchParams *GoogleCloudAiplatformV1ExternalApiElasticSearchParams `json:"elasticSearchParams,omitempty"`
	// Endpoint: The endpoint of the external API. The system will call the API at
	// this endpoint to retrieve the data for grounding. Example:
	// https://acme.com:443/search
	Endpoint string `json:"endpoint,omitempty"`
	// SimpleSearchParams: Parameters for the simple search API.
	SimpleSearchParams *GoogleCloudAiplatformV1ExternalApiSimpleSearchParams `json:"simpleSearchParams,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiAuth") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiAuth") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExternalApi) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExternalApi
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExternalApiElasticSearchParams: The search parameters
// to use for the ELASTIC_SEARCH spec.
type GoogleCloudAiplatformV1ExternalApiElasticSearchParams struct {
	// Index: The ElasticSearch index to use.
	Index string `json:"index,omitempty"`
	// NumHits: Optional. Number of hits (chunks) to request. When specified, it is
	// passed to Elasticsearch as the `num_hits` param.
	NumHits int64 `json:"numHits,omitempty"`
	// SearchTemplate: The ElasticSearch search template to use.
	SearchTemplate string `json:"searchTemplate,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Index") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Index") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ExternalApiElasticSearchParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExternalApiElasticSearchParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ExternalApiSimpleSearchParams: The search parameters
// to use for SIMPLE_SEARCH spec.
type GoogleCloudAiplatformV1ExternalApiSimpleSearchParams struct {
}

// GoogleCloudAiplatformV1Fact: The fact used in grounding.
type GoogleCloudAiplatformV1Fact struct {
	// Chunk: If present, chunk properties.
	Chunk *GoogleCloudAiplatformV1RagChunk `json:"chunk,omitempty"`
	// Query: Query that is used to retrieve this fact.
	Query string `json:"query,omitempty"`
	// Score: If present, according to the underlying Vector DB and the selected
	// metric type, the score can be either the distance or the similarity between
	// the query and the fact and its range depends on the metric type. For
	// example, if the metric type is COSINE_DISTANCE, it represents the distance
	// between the query and the fact. The larger the distance, the less relevant
	// the fact is to the query. The range is [0, 2], while 0 means the most
	// relevant and 2 means the least relevant.
	Score float64 `json:"score,omitempty"`
	// Summary: If present, the summary/snippet of the fact.
	Summary string `json:"summary,omitempty"`
	// Title: If present, it refers to the title of this fact.
	Title string `json:"title,omitempty"`
	// Uri: If present, this uri links to the source of the fact.
	Uri string `json:"uri,omitempty"`
	// VectorDistance: If present, the distance between the query vector and this
	// fact vector.
	VectorDistance float64 `json:"vectorDistance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Chunk") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Chunk") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Fact) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Fact
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Fact) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Fact
	var s1 struct {
		Score          gensupport.JSONFloat64 `json:"score"`
		VectorDistance gensupport.JSONFloat64 `json:"vectorDistance"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	s.VectorDistance = float64(s1.VectorDistance)
	return nil
}

// GoogleCloudAiplatformV1FasterDeploymentConfig: Configuration for faster
// model deployment.
type GoogleCloudAiplatformV1FasterDeploymentConfig struct {
	// FastTryoutEnabled: If true, enable fast tryout feature for this deployed
	// model.
	FastTryoutEnabled bool `json:"fastTryoutEnabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FastTryoutEnabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FastTryoutEnabled") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FasterDeploymentConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FasterDeploymentConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Feature: Feature Metadata information. For example,
// color is a feature that describes an apple.
type GoogleCloudAiplatformV1Feature struct {
	// CreateTime: Output only. Only applicable for Vertex AI Feature Store
	// (Legacy). Timestamp when this EntityType was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of the Feature.
	Description string `json:"description,omitempty"`
	// DisableMonitoring: 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) 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 `json:"disableMonitoring,omitempty"`
	// Etag: Used to perform a consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// MonitoringStatsAnomalies: Output only. Only applicable for Vertex AI Feature
	// Store (Legacy). The list of historical stats and anomalies with specified
	// objectives.
	MonitoringStatsAnomalies []*GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly `json:"monitoringStatsAnomalies,omitempty"`
	// Name: Immutable. Name of the Feature. Format:
	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityT
	// ypes/{entity_type}/features/{feature}`
	// `projects/{project}/locations/{location}/featureGroups/{feature_group}/featur
	// es/{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 `json:"name,omitempty"`
	// PointOfContact: Entity responsible for maintaining this feature. Can be
	// comma separated list of email addresses or URIs.
	PointOfContact string `json:"pointOfContact,omitempty"`
	// UpdateTime: Output only. Only applicable for Vertex AI Feature Store
	// (Legacy). Timestamp when this EntityType was most recently updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// ValueType: Immutable. Only applicable for Vertex AI Feature Store (Legacy).
	// Type of Feature value.
	//
	// Possible values:
	//   "VALUE_TYPE_UNSPECIFIED" - The value type is unspecified.
	//   "BOOL" - Used for Feature that is a boolean.
	//   "BOOL_ARRAY" - Used for Feature that is a list of boolean.
	//   "DOUBLE" - Used for Feature that is double.
	//   "DOUBLE_ARRAY" - Used for Feature that is a list of double.
	//   "INT64" - Used for Feature that is INT64.
	//   "INT64_ARRAY" - Used for Feature that is a list of INT64.
	//   "STRING" - Used for Feature that is string.
	//   "STRING_ARRAY" - Used for Feature that is a list of String.
	//   "BYTES" - Used for Feature that is bytes.
	//   "STRUCT" - Used for Feature that is struct.
	ValueType string `json:"valueType,omitempty"`
	// VersionColumnName: 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 `json:"versionColumnName,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Feature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Feature
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureGroup: Vertex AI Feature Group.
type GoogleCloudAiplatformV1FeatureGroup struct {
	// BigQuery: Indicates that features for this group come from BigQuery
	// Table/View. By default treats the source as a sparse time series source. The
	// BigQuery source table or view must have at least one entity ID column and a
	// column named `feature_timestamp`.
	BigQuery *GoogleCloudAiplatformV1FeatureGroupBigQuery `json:"bigQuery,omitempty"`
	// CreateTime: Output only. Timestamp when this FeatureGroup was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Optional. Description of the FeatureGroup.
	Description string `json:"description,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Identifier. Name of the FeatureGroup. Format:
	// `projects/{project}/locations/{location}/featureGroups/{featureGroup}`
	Name string `json:"name,omitempty"`
	// ServiceAccountEmail: Output only. A Service Account unique to this
	// FeatureGroup. The role bigquery.dataViewer should be granted to this service
	// account to allow Vertex AI Feature Store to access source data while running
	// jobs under this FeatureGroup.
	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
	// ServiceAgentType: Optional. Service agent type used during jobs under a
	// FeatureGroup. By default, the Vertex AI Service Agent is used. When using an
	// IAM Policy to isolate this FeatureGroup within a project, a separate service
	// account should be provisioned by setting this field to
	// `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate service
	// account to access the BigQuery source table.
	//
	// Possible values:
	//   "SERVICE_AGENT_TYPE_UNSPECIFIED" - By default, the project-level Vertex AI
	// Service Agent is enabled.
	//   "SERVICE_AGENT_TYPE_PROJECT" - Specifies the project-level Vertex AI
	// Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
	//   "SERVICE_AGENT_TYPE_FEATURE_GROUP" - Enable a FeatureGroup service account
	// to be created by Vertex AI and output in the field `service_account_email`.
	// This service account will be used to read from the source BigQuery table
	// during jobs under a FeatureGroup.
	ServiceAgentType string `json:"serviceAgentType,omitempty"`
	// UpdateTime: Output only. Timestamp when this FeatureGroup was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BigQuery") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigQuery") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureGroup) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureGroup
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureGroupBigQuery: Input source type for BigQuery
// Tables and Views.
type GoogleCloudAiplatformV1FeatureGroupBigQuery struct {
	// BigQuerySource: Required. Immutable. The BigQuery source URI that points to
	// either a BigQuery Table or View.
	BigQuerySource *GoogleCloudAiplatformV1BigQuerySource `json:"bigQuerySource,omitempty"`
	// Dense: Optional. If set, all feature values will be fetched from a single
	// row per unique entityId including nulls. If not set, will collapse all rows
	// for each unique entityId into a singe row with any non-null values if
	// present, if no non-null values are present will sync null. ex: If source has
	// schema `(entity_id, feature_timestamp, f0, f1)` and the following rows:
	// `(e1, 2020-01-01T10:00:00.123Z, 10, 15)` `(e1, 2020-02-01T10:00:00.123Z, 20,
	// null)` If dense is set, `(e1, 20, null)` is synced to online stores. If
	// dense is not set, `(e1, 20, 15)` is synced to online stores.
	Dense bool `json:"dense,omitempty"`
	// EntityIdColumns: Optional. Columns to construct entity_id / row keys. If not
	// provided defaults to `entity_id`.
	EntityIdColumns []string `json:"entityIdColumns,omitempty"`
	// StaticDataSource: Optional. Set if the data source is not a time-series.
	StaticDataSource bool `json:"staticDataSource,omitempty"`
	// TimeSeries: Optional. If the source is a time-series source, this can be set
	// to control how downstream sources (ex: FeatureView ) will treat time-series
	// sources. If not set, will treat the source as a time-series source with
	// `feature_timestamp` as timestamp column and no scan boundary.
	TimeSeries *GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries `json:"timeSeries,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigQuerySource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigQuerySource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureGroupBigQuery) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureGroupBigQuery
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries struct {
	// TimestampColumn: Optional. Column hosting timestamp values for a time-series
	// source. Will be used to determine the latest `feature_values` for each
	// entity. Optional. If not provided, column named `feature_timestamp` of type
	// `TIMESTAMP` will be used.
	TimestampColumn string `json:"timestampColumn,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TimestampColumn") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TimestampColumn") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly: A list of historical
// SnapshotAnalysis or ImportFeaturesAnalysis stats requested by user, sorted
// by FeatureStatsAnomaly.start_time descending.
type GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly struct {
	// FeatureStatsAnomaly: Output only. The stats and anomalies generated at
	// specific timestamp.
	FeatureStatsAnomaly *GoogleCloudAiplatformV1FeatureStatsAnomaly `json:"featureStatsAnomaly,omitempty"`
	// Objective: Output only. The objective for each stats.
	//
	// Possible values:
	//   "OBJECTIVE_UNSPECIFIED" - If it's OBJECTIVE_UNSPECIFIED, monitoring_stats
	// will be empty.
	//   "IMPORT_FEATURE_ANALYSIS" - Stats are generated by Import Feature
	// Analysis.
	//   "SNAPSHOT_ANALYSIS" - Stats are generated by Snapshot Analysis.
	Objective string `json:"objective,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FeatureStatsAnomaly") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureStatsAnomaly") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureNoiseSigma: 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 GoogleCloudAiplatformV1FeatureNoiseSigma struct {
	// NoiseSigma: Noise sigma per feature. No noise is added to features that are
	// not set.
	NoiseSigma []*GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature `json:"noiseSigma,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NoiseSigma") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NoiseSigma") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureNoiseSigma) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureNoiseSigma
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature: Noise sigma
// for a single feature.
type GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature struct {
	// Name: The name of the input feature for which noise sigma is provided. The
	// features are defined in explanation metadata inputs.
	Name string `json:"name,omitempty"`
	// Sigma: 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 but represents the noise added to the current
	// feature. Defaults to 0.1.
	Sigma float64 `json:"sigma,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature
	var s1 struct {
		Sigma gensupport.JSONFloat64 `json:"sigma"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Sigma = float64(s1.Sigma)
	return nil
}

// GoogleCloudAiplatformV1FeatureOnlineStore: 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 GoogleCloudAiplatformV1FeatureOnlineStore struct {
	// Bigtable: Contains settings for the Cloud Bigtable instance that will be
	// created to serve featureValues for all FeatureViews under this
	// FeatureOnlineStore.
	Bigtable *GoogleCloudAiplatformV1FeatureOnlineStoreBigtable `json:"bigtable,omitempty"`
	// CreateTime: Output only. Timestamp when this FeatureOnlineStore was created.
	CreateTime string `json:"createTime,omitempty"`
	// DedicatedServingEndpoint: Optional. The dedicated serving endpoint for this
	// FeatureOnlineStore, which is different from common Vertex service endpoint.
	DedicatedServingEndpoint *GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint `json:"dedicatedServingEndpoint,omitempty"`
	// EncryptionSpec: Optional. Customer-managed encryption key spec for data
	// storage. If set, online store will be secured by this key.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Identifier. Name of the FeatureOnlineStore. Format:
	// `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineSt
	// ore}`
	Name string `json:"name,omitempty"`
	// Optimized: 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 to use private
	// endpoint. Otherwise will use public endpoint by default.
	Optimized *GoogleCloudAiplatformV1FeatureOnlineStoreOptimized `json:"optimized,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// State: Output only. State of the featureOnlineStore.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default value. This value is unused.
	//   "STABLE" - 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.
	//   "UPDATING" - 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.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Timestamp when this FeatureOnlineStore was last
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Bigtable") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Bigtable") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureOnlineStore) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureOnlineStore
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1FeatureOnlineStoreBigtable struct {
	// AutoScaling: Required. Autoscaling config applied to Bigtable Instance.
	AutoScaling *GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling `json:"autoScaling,omitempty"`
	// BigtableMetadata: Output only. Metadata of the Bigtable instance. Output
	// only.
	BigtableMetadata *GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata `json:"bigtableMetadata,omitempty"`
	// EnableDirectBigtableAccess: Optional. It true, enable direct access to the
	// Bigtable instance.
	EnableDirectBigtableAccess bool `json:"enableDirectBigtableAccess,omitempty"`
	// Zone: Optional. The zone where the underlying Bigtable cluster for the
	// primary Bigtable instance will be provisioned. Only the zone must be
	// provided. For example, only "us-central1-a" should be provided.
	Zone string `json:"zone,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoScaling") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoScaling") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureOnlineStoreBigtable) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureOnlineStoreBigtable
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling struct {
	// CpuUtilizationTarget: 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 int64 `json:"cpuUtilizationTarget,omitempty"`
	// MaxNodeCount: 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 int64 `json:"maxNodeCount,omitempty"`
	// MinNodeCount: Required. The minimum number of nodes to scale down to. Must
	// be greater than or equal to 1.
	MinNodeCount int64 `json:"minNodeCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CpuUtilizationTarget") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CpuUtilizationTarget") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata: Metadata
// of the Bigtable instance. This is used by direct read access to the Bigtable
// in tenant project.
type GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata struct {
	// InstanceId: The Cloud Bigtable instance id.
	InstanceId string `json:"instanceId,omitempty"`
	// TableId: The Cloud Bigtable table id.
	TableId string `json:"tableId,omitempty"`
	// TenantProjectId: Tenant project ID.
	TenantProjectId string `json:"tenantProjectId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InstanceId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InstanceId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint: The
// dedicated serving endpoint for this FeatureOnlineStore. Only need to set
// when you choose Optimized storage type. Public endpoint is provisioned by
// default.
type GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint struct {
	// PrivateServiceConnectConfig: 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 set to true,
	// customers will use private service connection to send request. Otherwise,
	// the connection will set to public endpoint.
	PrivateServiceConnectConfig *GoogleCloudAiplatformV1PrivateServiceConnectConfig `json:"privateServiceConnectConfig,omitempty"`
	// PublicEndpointDomainName: Output only. This field will be populated with the
	// domain name to use for this FeatureOnlineStore
	PublicEndpointDomainName string `json:"publicEndpointDomainName,omitempty"`
	// ServiceAttachment: Output only. The name of the service attachment resource.
	// Populated if private service connect is enabled and after FeatureViewSync is
	// created.
	ServiceAttachment string `json:"serviceAttachment,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "PrivateServiceConnectConfig") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PrivateServiceConnectConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureOnlineStoreOptimized: Optimized storage type
type GoogleCloudAiplatformV1FeatureOnlineStoreOptimized struct {
}

// GoogleCloudAiplatformV1FeatureSelector: Selector for Features of an
// EntityType.
type GoogleCloudAiplatformV1FeatureSelector struct {
	// IdMatcher: Required. Matches Features based on ID.
	IdMatcher *GoogleCloudAiplatformV1IdMatcher `json:"idMatcher,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IdMatcher") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IdMatcher") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureSelector) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureSelector
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureStatsAnomaly: 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 GoogleCloudAiplatformV1FeatureStatsAnomaly struct {
	// AnomalyDetectionThreshold: This is the threshold used when detecting
	// anomalies. The threshold can be changed by user, so this one might be
	// different from ThresholdConfig.value.
	AnomalyDetectionThreshold float64 `json:"anomalyDetectionThreshold,omitempty"`
	// AnomalyUri: 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 `json:"anomalyUri,omitempty"`
	// DistributionDeviation: 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 `json:"distributionDeviation,omitempty"`
	// EndTime: 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 string `json:"endTime,omitempty"`
	// Score: 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 and
	// ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT.
	Score float64 `json:"score,omitempty"`
	// StartTime: 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 string `json:"startTime,omitempty"`
	// StatsUri: 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 `json:"statsUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnomalyDetectionThreshold")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnomalyDetectionThreshold") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureStatsAnomaly) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureStatsAnomaly
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FeatureStatsAnomaly) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FeatureStatsAnomaly
	var s1 struct {
		AnomalyDetectionThreshold gensupport.JSONFloat64 `json:"anomalyDetectionThreshold"`
		DistributionDeviation     gensupport.JSONFloat64 `json:"distributionDeviation"`
		Score                     gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.AnomalyDetectionThreshold = float64(s1.AnomalyDetectionThreshold)
	s.DistributionDeviation = float64(s1.DistributionDeviation)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1FeatureValue: Value for a feature.
type GoogleCloudAiplatformV1FeatureValue struct {
	// BoolArrayValue: A list of bool type feature value.
	BoolArrayValue *GoogleCloudAiplatformV1BoolArray `json:"boolArrayValue,omitempty"`
	// BoolValue: Bool type feature value.
	BoolValue bool `json:"boolValue,omitempty"`
	// BytesValue: Bytes feature value.
	BytesValue string `json:"bytesValue,omitempty"`
	// DoubleArrayValue: A list of double type feature value.
	DoubleArrayValue *GoogleCloudAiplatformV1DoubleArray `json:"doubleArrayValue,omitempty"`
	// DoubleValue: Double type feature value.
	DoubleValue float64 `json:"doubleValue,omitempty"`
	// Int64ArrayValue: A list of int64 type feature value.
	Int64ArrayValue *GoogleCloudAiplatformV1Int64Array `json:"int64ArrayValue,omitempty"`
	// Int64Value: Int64 feature value.
	Int64Value int64 `json:"int64Value,omitempty,string"`
	// Metadata: Metadata of feature value.
	Metadata *GoogleCloudAiplatformV1FeatureValueMetadata `json:"metadata,omitempty"`
	// StringArrayValue: A list of string type feature value.
	StringArrayValue *GoogleCloudAiplatformV1StringArray `json:"stringArrayValue,omitempty"`
	// StringValue: String feature value.
	StringValue string `json:"stringValue,omitempty"`
	// StructValue: A struct type feature value.
	StructValue *GoogleCloudAiplatformV1StructValue `json:"structValue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BoolArrayValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoolArrayValue") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FeatureValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FeatureValue
	var s1 struct {
		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DoubleValue = float64(s1.DoubleValue)
	return nil
}

// GoogleCloudAiplatformV1FeatureValueDestination: A destination location for
// Feature values and format.
type GoogleCloudAiplatformV1FeatureValueDestination struct {
	// BigqueryDestination: Output in BigQuery format.
	// BigQueryDestination.output_uri in
	// FeatureValueDestination.bigquery_destination must refer to a table.
	BigqueryDestination *GoogleCloudAiplatformV1BigQueryDestination `json:"bigqueryDestination,omitempty"`
	// CsvDestination: Output in CSV format. Array Feature value types are not
	// allowed in CSV format.
	CsvDestination *GoogleCloudAiplatformV1CsvDestination `json:"csvDestination,omitempty"`
	// TfrecordDestination: 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 *GoogleCloudAiplatformV1TFRecordDestination `json:"tfrecordDestination,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryDestination") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureValueDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValueDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureValueList: Container for list of values.
type GoogleCloudAiplatformV1FeatureValueList struct {
	// Values: A list of feature values. All of them should be the same data type.
	Values []*GoogleCloudAiplatformV1FeatureValue `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureValueList) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValueList
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureValueMetadata: Metadata of feature value.
type GoogleCloudAiplatformV1FeatureValueMetadata struct {
	// GenerateTime: 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. Legacy 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 string `json:"generateTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenerateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenerateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureValueMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValueMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureView: FeatureView is representation of values
// that the FeatureOnlineStore will serve based on its syncConfig.
type GoogleCloudAiplatformV1FeatureView struct {
	// BigQuerySource: Optional. Configures how data is supposed to be extracted
	// from a BigQuery source to be loaded onto the FeatureOnlineStore.
	BigQuerySource *GoogleCloudAiplatformV1FeatureViewBigQuerySource `json:"bigQuerySource,omitempty"`
	// BigtableMetadata: Output only. Metadata containing information about the
	// Cloud Bigtable.
	BigtableMetadata *GoogleCloudAiplatformV1FeatureViewBigtableMetadata `json:"bigtableMetadata,omitempty"`
	// CreateTime: Output only. Timestamp when this FeatureView was created.
	CreateTime string `json:"createTime,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// FeatureRegistrySource: Optional. Configures the features from a Feature
	// Registry source that need to be loaded onto the FeatureOnlineStore.
	FeatureRegistrySource *GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource `json:"featureRegistrySource,omitempty"`
	// IndexConfig: Optional. Configuration for index preparation 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.
	IndexConfig *GoogleCloudAiplatformV1FeatureViewIndexConfig `json:"indexConfig,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Identifier. Name of the FeatureView. Format:
	// `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_
	// store}/featureViews/{feature_view}`
	Name string `json:"name,omitempty"`
	// OptimizedConfig: Optional. Configuration for FeatureView created under
	// Optimized FeatureOnlineStore.
	OptimizedConfig *GoogleCloudAiplatformV1FeatureViewOptimizedConfig `json:"optimizedConfig,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// ServiceAccountEmail: Output only. A Service Account unique to this
	// FeatureView. The role bigquery.dataViewer should be granted to this service
	// account to allow Vertex AI Feature Store to sync data to the online store.
	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
	// ServiceAgentType: Optional. Service agent type used during data sync. By
	// default, the Vertex AI Service Agent is used. When using an IAM Policy to
	// isolate this FeatureView within a project, a separate service account should
	// be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
	// This will generate a separate service account to access the BigQuery source
	// table.
	//
	// Possible values:
	//   "SERVICE_AGENT_TYPE_UNSPECIFIED" - By default, the project-level Vertex AI
	// Service Agent is enabled.
	//   "SERVICE_AGENT_TYPE_PROJECT" - Indicates the project-level Vertex AI
	// Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
	// will be used during sync jobs.
	//   "SERVICE_AGENT_TYPE_FEATURE_VIEW" - Enable a FeatureView service account
	// to be created by Vertex AI and output in the field `service_account_email`.
	// This service account will be used to read from the source BigQuery table
	// during sync.
	ServiceAgentType string `json:"serviceAgentType,omitempty"`
	// SyncConfig: 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 *GoogleCloudAiplatformV1FeatureViewSyncConfig `json:"syncConfig,omitempty"`
	// UpdateTime: Output only. Timestamp when this FeatureView was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// VertexRagSource: Optional. The Vertex RAG Source that the FeatureView is
	// linked to.
	VertexRagSource *GoogleCloudAiplatformV1FeatureViewVertexRagSource `json:"vertexRagSource,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BigQuerySource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigQuerySource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureView) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureView
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1FeatureViewBigQuerySource struct {
	// EntityIdColumns: Required. Columns to construct entity_id / row keys.
	EntityIdColumns []string `json:"entityIdColumns,omitempty"`
	// Uri: Required. The BigQuery view URI that will be materialized on each sync
	// trigger based on FeatureView.SyncConfig.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntityIdColumns") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityIdColumns") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewBigQuerySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewBigQuerySource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewBigtableMetadata: Metadata for the Cloud
// Bigtable that supports directly interacting Bigtable instances.
type GoogleCloudAiplatformV1FeatureViewBigtableMetadata struct {
	// ReadAppProfile: Output only. The Bigtable App Profile to use for reading
	// from Bigtable.
	ReadAppProfile string `json:"readAppProfile,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ReadAppProfile") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ReadAppProfile") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewBigtableMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewBigtableMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewDataKey: Lookup key for a feature view.
type GoogleCloudAiplatformV1FeatureViewDataKey struct {
	// CompositeKey: The actual Entity ID will be composed from this struct. This
	// should match with the way ID is defined in the FeatureView spec.
	CompositeKey *GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey `json:"compositeKey,omitempty"`
	// Key: String key to use for lookup.
	Key string `json:"key,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CompositeKey") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompositeKey") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewDataKey) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewDataKey
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey: ID that is comprised
// from several parts (columns).
type GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey struct {
	// Parts: Parts to construct Entity ID. Should match with the same ID columns
	// as defined in FeatureView in the same order.
	Parts []string `json:"parts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parts") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewDirectWriteRequest: Request message for
// FeatureOnlineStoreService.FeatureViewDirectWrite.
type GoogleCloudAiplatformV1FeatureViewDirectWriteRequest struct {
	// DataKeyAndFeatureValues: Required. The data keys and associated feature
	// values.
	DataKeyAndFeatureValues []*GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues `json:"dataKeyAndFeatureValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataKeyAndFeatureValues") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataKeyAndFeatureValues") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewDirectWriteRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewDirectWriteRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues:
// A data key and associated feature values to write to the feature view.
type GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues struct {
	// DataKey: The data key.
	DataKey *GoogleCloudAiplatformV1FeatureViewDataKey `json:"dataKey,omitempty"`
	// Features: List of features to write.
	Features []*GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature `json:"features,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataKey") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataKey") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFe
// ature: Feature name & value pair.
type GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature struct {
	// Name: Feature short name.
	Name string `json:"name,omitempty"`
	// Value: Feature value. A user provided timestamp may be set in the
	// `FeatureValue.metadata.generate_time` field.
	Value *GoogleCloudAiplatformV1FeatureValue `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewDirectWriteResponse: Response message for
// FeatureOnlineStoreService.FeatureViewDirectWrite.
type GoogleCloudAiplatformV1FeatureViewDirectWriteResponse struct {
	// Status: Response status for the keys listed in
	// FeatureViewDirectWriteResponse.write_responses. The error only applies to
	// the listed data keys - the stream will remain open for further
	// FeatureOnlineStoreService.FeatureViewDirectWriteRequest requests. Partial
	// failures (e.g. if the first 10 keys of a request fail, but the rest succeed)
	// from a single request may result in multiple responses - there will be one
	// response for the successful request keys and one response for the failing
	// request keys.
	Status *GoogleRpcStatus `json:"status,omitempty"`
	// WriteResponses: Details about write for each key. If status is not OK,
	// WriteResponse.data_key will have the key with error, but
	// WriteResponse.online_store_write_time will not be present.
	WriteResponses []*GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse `json:"writeResponses,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Status") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Status") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewDirectWriteResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewDirectWriteResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse: Details
// about the write for each key.
type GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse struct {
	// DataKey: What key is this write response associated with.
	DataKey *GoogleCloudAiplatformV1FeatureViewDataKey `json:"dataKey,omitempty"`
	// OnlineStoreWriteTime: When the feature values were written to the online
	// store. If FeatureViewDirectWriteResponse.status is not OK, this field is not
	// populated.
	OnlineStoreWriteTime string `json:"onlineStoreWriteTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataKey") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataKey") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource: A Feature Registry
// source for features that need to be synced to Online Store.
type GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource struct {
	// FeatureGroups: Required. List of features that need to be synced to Online
	// Store.
	FeatureGroups []*GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup `json:"featureGroups,omitempty"`
	// ProjectNumber: Optional. The project number of the parent project of the
	// Feature Groups.
	ProjectNumber int64 `json:"projectNumber,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "FeatureGroups") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureGroups") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup:
// Features belonging to a single feature group that will be synced to Online
// Store.
type GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup struct {
	// FeatureGroupId: Required. Identifier of the feature group.
	FeatureGroupId string `json:"featureGroupId,omitempty"`
	// FeatureIds: Required. Identifiers of features under the feature group.
	FeatureIds []string `json:"featureIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FeatureGroupId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureGroupId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewIndexConfig: Configuration for vector
// indexing.
type GoogleCloudAiplatformV1FeatureViewIndexConfig struct {
	// BruteForceConfig: 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 *GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig `json:"bruteForceConfig,omitempty"`
	// CrowdingColumn: Optional. Column of crowding. This column contains crowding
	// attribute which is a constraint on a neighbor list produced by
	// FeatureOnlineStoreService.SearchNearestEntities to diversify search results.
	// If NearestNeighborQuery.per_crowding_attribute_neighbor_count is set to K in
	// SearchNearestEntitiesRequest, it's guaranteed that no more than K entities
	// of the same crowding attribute are returned in the response.
	CrowdingColumn string `json:"crowdingColumn,omitempty"`
	// DistanceMeasureType: Optional. The distance measure used in nearest neighbor
	// search.
	//
	// Possible values:
	//   "DISTANCE_MEASURE_TYPE_UNSPECIFIED" - Should not be set.
	//   "SQUARED_L2_DISTANCE" - Euclidean (L_2) Distance.
	//   "COSINE_DISTANCE" - 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.
	//   "DOT_PRODUCT_DISTANCE" - Dot Product Distance. Defined as a negative of
	// the dot product.
	DistanceMeasureType string `json:"distanceMeasureType,omitempty"`
	// EmbeddingColumn: 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 `json:"embeddingColumn,omitempty"`
	// EmbeddingDimension: Optional. The number of dimensions of the input
	// embedding.
	EmbeddingDimension int64 `json:"embeddingDimension,omitempty"`
	// FilterColumns: Optional. Columns of features that're used to filter vector
	// search results.
	FilterColumns []string `json:"filterColumns,omitempty"`
	// TreeAhConfig: 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 *GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig `json:"treeAhConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BruteForceConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BruteForceConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewIndexConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewIndexConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig: Configuration
// options for using brute force search.
type GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig struct {
}

// GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig: Configuration
// options for the tree-AH algorithm.
type GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig struct {
	// LeafNodeEmbeddingCount: Optional. Number of embeddings on each leaf node.
	// The default value is 1000 if not set.
	LeafNodeEmbeddingCount int64 `json:"leafNodeEmbeddingCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "LeafNodeEmbeddingCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LeafNodeEmbeddingCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewOptimizedConfig: Configuration for
// FeatureViews created in Optimized FeatureOnlineStore.
type GoogleCloudAiplatformV1FeatureViewOptimizedConfig struct {
	// AutomaticResources: Optional. A description of resources that the
	// FeatureView 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. If max_replica_count
	// is not set, the default value is 6. The max allowed replica count is 1000.
	AutomaticResources *GoogleCloudAiplatformV1AutomaticResources `json:"automaticResources,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutomaticResources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutomaticResources") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewOptimizedConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewOptimizedConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewSync: FeatureViewSync is a representation
// of sync operation which copies data from data source to Feature View in
// Online Store.
type GoogleCloudAiplatformV1FeatureViewSync struct {
	// CreateTime: 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 string `json:"createTime,omitempty"`
	// FinalStatus: Output only. Final status of the FeatureViewSync.
	FinalStatus *GoogleRpcStatus `json:"finalStatus,omitempty"`
	// Name: Identifier. Name of the FeatureViewSync. Format:
	// `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_
	// store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`
	Name string `json:"name,omitempty"`
	// RunTime: Output only. Time when this FeatureViewSync is finished.
	RunTime *GoogleTypeInterval `json:"runTime,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// SyncSummary: Output only. Summary of the sync job.
	SyncSummary *GoogleCloudAiplatformV1FeatureViewSyncSyncSummary `json:"syncSummary,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewSync) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewSync
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewSyncConfig: Configuration for Sync. Only
// one option is set.
type GoogleCloudAiplatformV1FeatureViewSyncConfig struct {
	// Continuous: Optional. If true, syncs the FeatureView in a continuous manner
	// to Online Store.
	Continuous bool `json:"continuous,omitempty"`
	// Cron: 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 `json:"cron,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Continuous") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Continuous") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewSyncConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewSyncConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewSyncSyncSummary: Summary from the Sync
// job. For continuous syncs, the summary is updated periodically. For batch
// syncs, it gets updated on completion of the sync.
type GoogleCloudAiplatformV1FeatureViewSyncSyncSummary struct {
	// RowSynced: Output only. Total number of rows synced.
	RowSynced int64 `json:"rowSynced,omitempty,string"`
	// SystemWatermarkTime: Lower bound of the system time watermark for the sync
	// job. This is only set for continuously syncing feature views.
	SystemWatermarkTime string `json:"systemWatermarkTime,omitempty"`
	// TotalSlot: Output only. BigQuery slot milliseconds consumed for the sync
	// job.
	TotalSlot int64 `json:"totalSlot,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "RowSynced") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RowSynced") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewSyncSyncSummary) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewSyncSyncSummary
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeatureViewVertexRagSource: A Vertex Rag source for
// features that need to be synced to Online Store.
type GoogleCloudAiplatformV1FeatureViewVertexRagSource struct {
	// RagCorpusId: Optional. The RAG corpus id corresponding to this FeatureView.
	RagCorpusId int64 `json:"ragCorpusId,omitempty,string"`
	// Uri: Required. The BigQuery view/table URI that will be materialized on each
	// manual sync trigger. The table/view is expected to have the following
	// columns and types at least: - `corpus_id` (STRING, NULLABLE/REQUIRED) -
	// `file_id` (STRING, NULLABLE/REQUIRED) - `chunk_id` (STRING,
	// NULLABLE/REQUIRED) - `chunk_data_type` (STRING, NULLABLE/REQUIRED) -
	// `chunk_data` (STRING, NULLABLE/REQUIRED) - `embeddings` (FLOAT, REPEATED) -
	// `file_original_uri` (STRING, NULLABLE/REQUIRED)
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagCorpusId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagCorpusId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeatureViewVertexRagSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureViewVertexRagSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Featurestore: 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 GoogleCloudAiplatformV1Featurestore struct {
	// CreateTime: Output only. Timestamp when this Featurestore was created.
	CreateTime string `json:"createTime,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. Name of the Featurestore. Format:
	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
	Name string `json:"name,omitempty"`
	// OnlineServingConfig: 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 *GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig `json:"onlineServingConfig,omitempty"`
	// OnlineStorageTtlDays: 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 int64 `json:"onlineStorageTtlDays,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// State: Output only. State of the featurestore.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default value. This value is unused.
	//   "STABLE" - 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.
	//   "UPDATING" - 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.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Timestamp when this Featurestore was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Featurestore) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Featurestore
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeaturestoreMonitoringConfig: Configuration of how
// features in Featurestore are monitored.
type GoogleCloudAiplatformV1FeaturestoreMonitoringConfig struct {
	// CategoricalThresholdConfig: 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) BOOL or
	// STRING).
	CategoricalThresholdConfig *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig `json:"categoricalThresholdConfig,omitempty"`
	// ImportFeaturesAnalysis: The config for ImportFeatures Analysis Based Feature
	// Monitoring.
	ImportFeaturesAnalysis *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis `json:"importFeaturesAnalysis,omitempty"`
	// NumericalThresholdConfig: 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) DOUBLE or
	// INT64).
	NumericalThresholdConfig *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig `json:"numericalThresholdConfig,omitempty"`
	// SnapshotAnalysis: The config for Snapshot Analysis Based Feature Monitoring.
	SnapshotAnalysis *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis `json:"snapshotAnalysis,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CategoricalThresholdConfig")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CategoricalThresholdConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeaturestoreMonitoringConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis:
// Configuration of the Featurestore's ImportFeature Analysis Based Monitoring.
// This type of analysis generates statistics for values of each Feature
// imported by every ImportFeatureValues operation.
type GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis struct {
	// AnomalyDetectionBaseline: The baseline used to do anomaly detection for the
	// statistics generated by import features analysis.
	//
	// Possible values:
	//   "BASELINE_UNSPECIFIED" - Should not be used.
	//   "LATEST_STATS" - 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.
	//   "MOST_RECENT_SNAPSHOT_STATS" - Use the statistics generated by the most
	// recent snapshot analysis if exists.
	//   "PREVIOUS_IMPORT_FEATURES_STATS" - Use the statistics generated by the
	// previous import features analysis if exists.
	AnomalyDetectionBaseline string `json:"anomalyDetectionBaseline,omitempty"`
	// State: Whether to enable / disable / inherite default hebavior for import
	// features analysis.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Should not be used.
	//   "DEFAULT" - 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.
	//   "ENABLED" - 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.
	//   "DISABLED" - 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.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnomalyDetectionBaseline")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnomalyDetectionBaseline") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis:
// 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 GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis struct {
	// Disabled: 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 `json:"disabled,omitempty"`
	// MonitoringIntervalDays: Configuration of the snapshot analysis based
	// monitoring pipeline running interval. The value indicates number of days.
	MonitoringIntervalDays int64 `json:"monitoringIntervalDays,omitempty"`
	// StalenessDays: 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 int64 `json:"stalenessDays,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Disabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Disabled") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig: The
// config for Featurestore Monitoring threshold.
type GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig struct {
	// Value: 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 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Value") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig
	var s1 struct {
		Value gensupport.JSONFloat64 `json:"value"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Value = float64(s1.Value)
	return nil
}

// GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig: OnlineServingConfig
// specifies the details for provisioning online serving resources.
type GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig struct {
	// FixedNodeCount: 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 int64 `json:"fixedNodeCount,omitempty"`
	// Scaling: Online serving scaling configuration. Only one of
	// `fixed_node_count` and `scaling` can be set. Setting one will reset the
	// other.
	Scaling *GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling `json:"scaling,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FixedNodeCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FixedNodeCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling: 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 GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling struct {
	// CpuUtilizationTarget: 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 int64 `json:"cpuUtilizationTarget,omitempty"`
	// MaxNodeCount: 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 int64 `json:"maxNodeCount,omitempty"`
	// MinNodeCount: Required. The minimum number of nodes to scale down to. Must
	// be greater than or equal to 1.
	MinNodeCount int64 `json:"minNodeCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CpuUtilizationTarget") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CpuUtilizationTarget") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FetchFeatureValuesRequest: Request message for
// FeatureOnlineStoreService.FetchFeatureValues. All the features under the
// requested feature view will be returned.
type GoogleCloudAiplatformV1FetchFeatureValuesRequest struct {
	// DataFormat: Optional. Response data format. If not set,
	// FeatureViewDataFormat.KEY_VALUE will be used.
	//
	// Possible values:
	//   "FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED" - Not set. Will be treated as the
	// KeyValue format.
	//   "KEY_VALUE" - Return response data in key-value format.
	//   "PROTO_STRUCT" - Return response data in proto Struct format.
	DataFormat string `json:"dataFormat,omitempty"`
	// DataKey: Optional. The request key to fetch feature values for.
	DataKey *GoogleCloudAiplatformV1FeatureViewDataKey `json:"dataKey,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataFormat") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataFormat") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FetchFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FetchFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FetchFeatureValuesResponse: Response message for
// FeatureOnlineStoreService.FetchFeatureValues
type GoogleCloudAiplatformV1FetchFeatureValuesResponse struct {
	// DataKey: The data key associated with this response. Will only be populated
	// for FeatureOnlineStoreService.StreamingFetchFeatureValues RPCs.
	DataKey *GoogleCloudAiplatformV1FeatureViewDataKey `json:"dataKey,omitempty"`
	// KeyValues: Feature values in KeyValue format.
	KeyValues *GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList `json:"keyValues,omitempty"`
	// ProtoStruct: Feature values in proto Struct format.
	ProtoStruct googleapi.RawMessage `json:"protoStruct,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DataKey") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataKey") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FetchFeatureValuesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FetchFeatureValuesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList:
// Response structure in the format of key (feature name) and (feature) value
// pair.
type GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList struct {
	// Features: List of feature names and values.
	Features []*GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair `json:"features,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Features") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Features") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeat
// ureNameValuePair: Feature name & value pair.
type GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair struct {
	// Name: Feature short name.
	Name string `json:"name,omitempty"`
	// Value: Feature value.
	Value *GoogleCloudAiplatformV1FeatureValue `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FetchPredictOperationRequest: Request message for
// PredictionService.FetchPredictOperation.
type GoogleCloudAiplatformV1FetchPredictOperationRequest struct {
	// OperationName: Required. The server-assigned name for the operation.
	OperationName string `json:"operationName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "OperationName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OperationName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FetchPredictOperationRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FetchPredictOperationRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FileData: URI-based data. A FileData message contains
// a URI pointing to data of a specific media type. It is used to represent
// images, audio, and video stored in Google Cloud Storage.
type GoogleCloudAiplatformV1FileData struct {
	// DisplayName: Optional. The display name of the file. Used to provide a label
	// or filename to distinguish files. This field is only returned in
	// `PromptMessage` for prompt management. It is used in the Gemini calls only
	// when server side tools (`code_execution`, `google_search`, and
	// `url_context`) are enabled.
	DisplayName string `json:"displayName,omitempty"`
	// FileUri: Required. The URI of the file in Google Cloud Storage.
	FileUri string `json:"fileUri,omitempty"`
	// MimeType: Required. The IANA standard MIME type of the source data.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FileData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FileData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FileStatus: RagFile status.
type GoogleCloudAiplatformV1FileStatus struct {
	// ErrorStatus: Output only. Only when the `state` field is ERROR.
	ErrorStatus string `json:"errorStatus,omitempty"`
	// State: Output only. RagFile state.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - RagFile state is unspecified.
	//   "ACTIVE" - RagFile resource has been created and indexed successfully.
	//   "ERROR" - RagFile resource is in a problematic state. See `error_message`
	// field for details.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ErrorStatus") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ErrorStatus") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FileStatus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FileStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FilterSplit: Assigns input data to training,
// validation, and test sets based on the given filters, data pieces not
// matched by any filter are ignored. Currently only supported for Datasets
// containing DataItems. If any of the filters in this message are to match
// nothing, then they can be set as '-' (the minus sign). Supported only for
// unstructured Datasets.
type GoogleCloudAiplatformV1FilterSplit struct {
	// TestFilter: Required. A filter on DataItems of the Dataset. DataItems that
	// match this filter are used to test the Model. A filter with same syntax as
	// the one used in DatasetService.ListDataItems may be used. If a single
	// DataItem is matched by more than one of the FilterSplit filters, then it is
	// assigned to the first set that applies to it in the training, validation,
	// test order.
	TestFilter string `json:"testFilter,omitempty"`
	// TrainingFilter: Required. A filter on DataItems of the Dataset. DataItems
	// that match this filter are used to train the Model. A filter with same
	// syntax as the one used in DatasetService.ListDataItems may be used. If a
	// single DataItem is matched by more than one of the FilterSplit filters, then
	// it is assigned to the first set that applies to it in the training,
	// validation, test order.
	TrainingFilter string `json:"trainingFilter,omitempty"`
	// ValidationFilter: Required. A filter on DataItems of the Dataset. DataItems
	// that match this filter are used to validate the Model. A filter with same
	// syntax as the one used in DatasetService.ListDataItems may be used. If a
	// single DataItem is matched by more than one of the FilterSplit filters, then
	// it is assigned to the first set that applies to it in the training,
	// validation, test order.
	ValidationFilter string `json:"validationFilter,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TestFilter") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TestFilter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FilterSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FilterSplit
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FindNeighborsRequest: The request message for
// MatchService.FindNeighbors.
type GoogleCloudAiplatformV1FindNeighborsRequest struct {
	// DeployedIndexId: 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 `json:"deployedIndexId,omitempty"`
	// Queries: The list of queries.
	Queries []*GoogleCloudAiplatformV1FindNeighborsRequestQuery `json:"queries,omitempty"`
	// ReturnFullDatapoint: 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 `json:"returnFullDatapoint,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndexId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndexId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FindNeighborsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FindNeighborsRequestQuery: A query to find a number
// of the nearest neighbors (most similar vectors) of a vector.
type GoogleCloudAiplatformV1FindNeighborsRequestQuery struct {
	// ApproximateNeighborCount: 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 int64 `json:"approximateNeighborCount,omitempty"`
	// Datapoint: Required. The datapoint/vector whose nearest neighbors should be
	// searched for.
	Datapoint *GoogleCloudAiplatformV1IndexDatapoint `json:"datapoint,omitempty"`
	// FractionLeafNodesToSearchOverride: 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 `json:"fractionLeafNodesToSearchOverride,omitempty"`
	// NeighborCount: 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 int64 `json:"neighborCount,omitempty"`
	// PerCrowdingAttributeNeighborCount: 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 int64 `json:"perCrowdingAttributeNeighborCount,omitempty"`
	// Rrf: Optional. Represents RRF algorithm that combines search results.
	Rrf *GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF `json:"rrf,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApproximateNeighborCount")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApproximateNeighborCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FindNeighborsRequestQuery) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsRequestQuery
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FindNeighborsRequestQuery) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsRequestQuery
	var s1 struct {
		FractionLeafNodesToSearchOverride gensupport.JSONFloat64 `json:"fractionLeafNodesToSearchOverride"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.FractionLeafNodesToSearchOverride = float64(s1.FractionLeafNodesToSearchOverride)
	return nil
}

// GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF: Parameters for RRF
// algorithm that combines search results.
type GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF struct {
	// Alpha: Required. Users can provide an alpha value to give more weight to
	// dense vs sparse results. For example, if the alpha is 0, we only return
	// sparse and if the alpha is 1, we only return dense.
	Alpha float64 `json:"alpha,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Alpha") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF
	var s1 struct {
		Alpha gensupport.JSONFloat64 `json:"alpha"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Alpha = float64(s1.Alpha)
	return nil
}

// GoogleCloudAiplatformV1FindNeighborsResponse: The response message for
// MatchService.FindNeighbors.
type GoogleCloudAiplatformV1FindNeighborsResponse struct {
	// NearestNeighbors: The nearest neighbors of the query datapoints.
	NearestNeighbors []*GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors `json:"nearestNeighbors,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NearestNeighbors") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NearestNeighbors") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FindNeighborsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors: Nearest
// neighbors for one query.
type GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors struct {
	// Id: The ID of the query datapoint.
	Id string `json:"id,omitempty"`
	// Neighbors: All its neighbors.
	Neighbors []*GoogleCloudAiplatformV1FindNeighborsResponseNeighbor `json:"neighbors,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Id") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FindNeighborsResponseNeighbor: A neighbor of the
// query vector.
type GoogleCloudAiplatformV1FindNeighborsResponseNeighbor struct {
	// Datapoint: 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 *GoogleCloudAiplatformV1IndexDatapoint `json:"datapoint,omitempty"`
	// Distance: The distance between the neighbor and the dense embedding query.
	Distance float64 `json:"distance,omitempty"`
	// SparseDistance: The distance between the neighbor and the query
	// sparse_embedding.
	SparseDistance float64 `json:"sparseDistance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Datapoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Datapoint") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FindNeighborsResponseNeighbor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsResponseNeighbor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FindNeighborsResponseNeighbor) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsResponseNeighbor
	var s1 struct {
		Distance       gensupport.JSONFloat64 `json:"distance"`
		SparseDistance gensupport.JSONFloat64 `json:"sparseDistance"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Distance = float64(s1.Distance)
	s.SparseDistance = float64(s1.SparseDistance)
	return nil
}

// GoogleCloudAiplatformV1FluencyInput: Input for fluency metric.
type GoogleCloudAiplatformV1FluencyInput struct {
	// Instance: Required. Fluency instance.
	Instance *GoogleCloudAiplatformV1FluencyInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for fluency score metric.
	MetricSpec *GoogleCloudAiplatformV1FluencySpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FluencyInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FluencyInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FluencyInstance: Spec for fluency instance.
type GoogleCloudAiplatformV1FluencyInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FluencyInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FluencyInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FluencyResult: Spec for fluency result.
type GoogleCloudAiplatformV1FluencyResult struct {
	// Confidence: Output only. Confidence for fluency score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for fluency score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Fluency score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FluencyResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FluencyResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FluencyResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FluencyResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1FluencySpec: Spec for fluency score metric.
type GoogleCloudAiplatformV1FluencySpec struct {
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Version") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FluencySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FluencySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FractionSplit: 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 GoogleCloudAiplatformV1FractionSplit struct {
	// TestFraction: The fraction of the input data that is to be used to evaluate
	// the Model.
	TestFraction float64 `json:"testFraction,omitempty"`
	// TrainingFraction: The fraction of the input data that is to be used to train
	// the Model.
	TrainingFraction float64 `json:"trainingFraction,omitempty"`
	// ValidationFraction: The fraction of the input data that is to be used to
	// validate the Model.
	ValidationFraction float64 `json:"validationFraction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TestFraction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TestFraction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FractionSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FractionSplit
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FractionSplit) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FractionSplit
	var s1 struct {
		TestFraction       gensupport.JSONFloat64 `json:"testFraction"`
		TrainingFraction   gensupport.JSONFloat64 `json:"trainingFraction"`
		ValidationFraction gensupport.JSONFloat64 `json:"validationFraction"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.TestFraction = float64(s1.TestFraction)
	s.TrainingFraction = float64(s1.TrainingFraction)
	s.ValidationFraction = float64(s1.ValidationFraction)
	return nil
}

// GoogleCloudAiplatformV1FulfillmentInput: Input for fulfillment metric.
type GoogleCloudAiplatformV1FulfillmentInput struct {
	// Instance: Required. Fulfillment instance.
	Instance *GoogleCloudAiplatformV1FulfillmentInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for fulfillment score metric.
	MetricSpec *GoogleCloudAiplatformV1FulfillmentSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FulfillmentInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FulfillmentInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FulfillmentInstance: Spec for fulfillment instance.
type GoogleCloudAiplatformV1FulfillmentInstance struct {
	// Instruction: Required. Inference instruction prompt to compare prediction
	// with.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instruction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instruction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FulfillmentInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FulfillmentInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FulfillmentResult: Spec for fulfillment result.
type GoogleCloudAiplatformV1FulfillmentResult struct {
	// Confidence: Output only. Confidence for fulfillment score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for fulfillment score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Fulfillment score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FulfillmentResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FulfillmentResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1FulfillmentResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1FulfillmentResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1FulfillmentSpec: Spec for fulfillment metric.
type GoogleCloudAiplatformV1FulfillmentSpec struct {
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Version") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FulfillmentSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FulfillmentSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FunctionCall: 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 GoogleCloudAiplatformV1FunctionCall struct {
	// Args: Optional. The function parameters and values in JSON object format.
	// See FunctionDeclaration.parameters for parameter details.
	Args googleapi.RawMessage `json:"args,omitempty"`
	// Name: Optional. The name of the function to call. Matches
	// FunctionDeclaration.name.
	Name string `json:"name,omitempty"`
	// PartialArgs: Optional. The partial argument value of the function call. If
	// provided, represents the arguments/fields that are streamed incrementally.
	PartialArgs []*GoogleCloudAiplatformV1PartialArg `json:"partialArgs,omitempty"`
	// WillContinue: Optional. Whether this is the last part of the FunctionCall.
	// If true, another partial message for the current FunctionCall is expected to
	// follow.
	WillContinue bool `json:"willContinue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Args") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FunctionCall) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FunctionCall
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FunctionCallingConfig: Function calling config.
type GoogleCloudAiplatformV1FunctionCallingConfig struct {
	// AllowedFunctionNames: Optional. Function names to call. Only set when the
	// Mode is ANY. Function names should match FunctionDeclaration.name. With mode
	// set to ANY, model will predict a function call from the set of function
	// names provided.
	AllowedFunctionNames []string `json:"allowedFunctionNames,omitempty"`
	// Mode: Optional. Function calling mode.
	//
	// Possible values:
	//   "MODE_UNSPECIFIED" - Unspecified function calling mode. This value should
	// not be used.
	//   "AUTO" - Default model behavior, model decides to predict either function
	// calls or natural language response.
	//   "ANY" - Model is constrained to always predicting function calls only. If
	// "allowed_function_names" are set, the predicted function calls will be
	// limited to any one of "allowed_function_names", else the predicted function
	// calls will be any one of the provided "function_declarations".
	//   "NONE" - Model will not predict any function calls. Model behavior is same
	// as when not passing any function declarations.
	//   "VALIDATED" - Model is constrained to predict either function calls or
	// natural language response. If "allowed_function_names" are set, the
	// predicted function calls will be limited to any one of
	// "allowed_function_names", else the predicted function calls will be any one
	// of the provided "function_declarations".
	Mode string `json:"mode,omitempty"`
	// StreamFunctionCallArguments: Optional. When set to true, arguments of a
	// single function call will be streamed out in multiple
	// parts/contents/responses. Partial parameter results will be returned in the
	// `FunctionCall.partial_args` field.
	StreamFunctionCallArguments bool `json:"streamFunctionCallArguments,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllowedFunctionNames") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllowedFunctionNames") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FunctionCallingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FunctionCallingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FunctionDeclaration: 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, description, parameters and response type. 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 GoogleCloudAiplatformV1FunctionDeclaration struct {
	// Description: Optional. Description and purpose of the function. Model uses
	// it to decide how and whether to call the function.
	Description string `json:"description,omitempty"`
	// Name: 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, dots,
	// colons and dashes, with a maximum length of 128.
	Name string `json:"name,omitempty"`
	// Parameters: 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. Parameter names must start with
	// a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or
	// underscores with a maximum length of 64. Example with 1 required and 1
	// optional parameter: type: OBJECT properties: param1: type: STRING param2:
	// type: INTEGER required: - param1
	Parameters *GoogleCloudAiplatformV1Schema `json:"parameters,omitempty"`
	// ParametersJsonSchema: Optional. Describes the parameters to the function in
	// JSON Schema format. The schema must describe an object where the properties
	// are the parameters to the function. For example: ``` { "type": "object",
	// "properties": { "name": { "type": "string" }, "age": { "type": "integer" }
	// }, "additionalProperties": false, "required": ["name", "age"],
	// "propertyOrdering": ["name", "age"] } ``` This field is mutually exclusive
	// with `parameters`.
	ParametersJsonSchema interface{} `json:"parametersJsonSchema,omitempty"`
	// Response: Optional. Describes the output from this function in JSON Schema
	// format. Reflects the Open API 3.03 Response Object. The Schema defines the
	// type used for the response value of the function.
	Response *GoogleCloudAiplatformV1Schema `json:"response,omitempty"`
	// ResponseJsonSchema: Optional. Describes the output from this function in
	// JSON Schema format. The value specified by the schema is the response value
	// of the function. This field is mutually exclusive with `response`.
	ResponseJsonSchema interface{} `json:"responseJsonSchema,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FunctionDeclaration) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FunctionDeclaration
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FunctionResponse: 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 GoogleCloudAiplatformV1FunctionResponse struct {
	// Name: Required. The name of the function to call. Matches
	// FunctionDeclaration.name and FunctionCall.name.
	Name string `json:"name,omitempty"`
	// Parts: Optional. Ordered `Parts` that constitute a function response. Parts
	// may have different IANA MIME types.
	Parts []*GoogleCloudAiplatformV1FunctionResponsePart `json:"parts,omitempty"`
	// Response: Required. The function response in JSON object format. Use
	// "output" key to specify function output and "error" key to specify error
	// details (if any). If "output" and "error" keys are not specified, then whole
	// "response" is treated as function output.
	Response googleapi.RawMessage `json:"response,omitempty"`
	// Scheduling: Optional. Specifies how the response should be scheduled in the
	// conversation. Only applicable to NON_BLOCKING function calls, is ignored
	// otherwise. Defaults to WHEN_IDLE.
	//
	// Possible values:
	//   "SCHEDULING_UNSPECIFIED" - This value is unused.
	//   "SILENT" - Only add the result to the conversation context, do not
	// interrupt or trigger generation.
	//   "WHEN_IDLE" - Add the result to the conversation context, and prompt to
	// generate output without interrupting ongoing generation.
	//   "INTERRUPT" - Add the result to the conversation context, interrupt
	// ongoing generation and prompt to generate output.
	Scheduling string `json:"scheduling,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FunctionResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FunctionResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FunctionResponseBlob: Raw media bytes for function
// response. Text should not be sent as raw bytes, use the 'text' field.
type GoogleCloudAiplatformV1FunctionResponseBlob struct {
	// Data: Required. Raw bytes.
	Data string `json:"data,omitempty"`
	// DisplayName: Optional. Display name of the blob. Used to provide a label or
	// filename to distinguish blobs. This field is only returned in PromptMessage
	// for prompt management. It is currently used in the Gemini GenerateContent
	// calls only when server side tools (code_execution, google_search, and
	// url_context) are enabled.
	DisplayName string `json:"displayName,omitempty"`
	// MimeType: Required. The IANA standard MIME type of the source data.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Data") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FunctionResponseBlob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FunctionResponseBlob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FunctionResponseFileData: URI based data for function
// response.
type GoogleCloudAiplatformV1FunctionResponseFileData struct {
	// DisplayName: Optional. Display name of the file data. Used to provide a
	// label or filename to distinguish file datas. This field is only returned in
	// PromptMessage for prompt management. It is currently used in the Gemini
	// GenerateContent calls only when server side tools (code_execution,
	// google_search, and url_context) are enabled.
	DisplayName string `json:"displayName,omitempty"`
	// FileUri: Required. URI.
	FileUri string `json:"fileUri,omitempty"`
	// MimeType: Required. The IANA standard MIME type of the source data.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FunctionResponseFileData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FunctionResponseFileData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1FunctionResponsePart: A datatype containing media
// that is part of a `FunctionResponse` message. A `FunctionResponsePart`
// consists of data which has an associated datatype. A `FunctionResponsePart`
// can only contain one of the accepted types in `FunctionResponsePart.data`. A
// `FunctionResponsePart` must have a fixed IANA MIME type identifying the type
// and subtype of the media if the `inline_data` field is filled with raw
// bytes.
type GoogleCloudAiplatformV1FunctionResponsePart struct {
	// FileData: URI based data.
	FileData *GoogleCloudAiplatformV1FunctionResponseFileData `json:"fileData,omitempty"`
	// InlineData: Inline media bytes.
	InlineData *GoogleCloudAiplatformV1FunctionResponseBlob `json:"inlineData,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FileData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FileData") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1FunctionResponsePart) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FunctionResponsePart
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GcsDestination: The Google Cloud Storage location
// where the output is to be written to.
type GoogleCloudAiplatformV1GcsDestination struct {
	// OutputUriPrefix: 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 `json:"outputUriPrefix,omitempty"`
	// ForceSendFields is a list of field names (e.g. "OutputUriPrefix") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OutputUriPrefix") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GcsDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GcsDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GcsSource: The Google Cloud Storage location for the
// input content.
type GoogleCloudAiplatformV1GcsSource struct {
	// Uris: 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/wildcards.
	Uris []string `json:"uris,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Uris") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Uris") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GcsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GcsSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GdcConfig: Google Distributed Cloud (GDC) config.
type GoogleCloudAiplatformV1GdcConfig struct {
	// Zone: GDC zone. A cluster will be designated for the Vertex AI workload in
	// this zone.
	Zone string `json:"zone,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Zone") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Zone") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GdcConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GdcConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GeminiPreferenceExample: Input example for preference
// optimization.
type GoogleCloudAiplatformV1GeminiPreferenceExample struct {
	// Completions: List of completions for a given prompt.
	Completions []*GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion `json:"completions,omitempty"`
	// Contents: Multi-turn contents that represents the Prompt.
	Contents []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Completions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Completions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GeminiPreferenceExample) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GeminiPreferenceExample
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion: Completion and its
// preference score.
type GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion struct {
	// Completion: Single turn completion for the given prompt.
	Completion *GoogleCloudAiplatformV1Content `json:"completion,omitempty"`
	// Score: The score for the given completion.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Completion") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Completion") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1GeminiPreferenceExampleCompletion
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig: Configuration for
// GenAiAdvancedFeatures.
type GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig struct {
	// RagConfig: Configuration for Retrieval Augmented Generation feature.
	RagConfig *GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig `json:"ragConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig: Configuration
// for Retrieval Augmented Generation feature.
type GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig struct {
	// EnableRag: If true, enable Retrieval Augmented Generation in ChatCompletion
	// request. Once enabled, the endpoint will be identified as GenAI endpoint and
	// Arthedain router will be used.
	EnableRag bool `json:"enableRag,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnableRag") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnableRag") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateContentRequest: Request message for
// [PredictionService.GenerateContent].
type GoogleCloudAiplatformV1GenerateContentRequest struct {
	// CachedContent: Optional. The name of the cached content used as context to
	// serve the prediction. Note: only used in explicit caching, where users can
	// have control over caching (e.g. what content to cache) and enjoy guaranteed
	// cost savings. Format:
	// `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
	CachedContent string `json:"cachedContent,omitempty"`
	// Contents: 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 []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// GenerationConfig: Optional. Generation config.
	GenerationConfig *GoogleCloudAiplatformV1GenerationConfig `json:"generationConfig,omitempty"`
	// Labels: Optional. The labels with user-defined metadata for the request. It
	// is used for billing and reporting only. Label keys and values can be no
	// longer than 63 characters (Unicode codepoints) and can only contain
	// lowercase letters, numeric characters, underscores, and dashes.
	// International characters are allowed. Label values are optional. Label keys
	// must start with a letter.
	Labels map[string]string `json:"labels,omitempty"`
	// ModelArmorConfig: Optional. Settings for prompt and response sanitization
	// using the Model Armor service. If supplied, safety_settings must not be
	// supplied.
	ModelArmorConfig *GoogleCloudAiplatformV1ModelArmorConfig `json:"modelArmorConfig,omitempty"`
	// SafetySettings: Optional. Per request settings for blocking unsafe content.
	// Enforced on GenerateContentResponse.candidates.
	SafetySettings []*GoogleCloudAiplatformV1SafetySetting `json:"safetySettings,omitempty"`
	// SystemInstruction: Optional. The user provided system instructions for the
	// model. Note: only text should be used in parts and content in each part will
	// be in a separate paragraph.
	SystemInstruction *GoogleCloudAiplatformV1Content `json:"systemInstruction,omitempty"`
	// ToolConfig: Optional. Tool config. This config is shared for all tools
	// provided in the request.
	ToolConfig *GoogleCloudAiplatformV1ToolConfig `json:"toolConfig,omitempty"`
	// Tools: 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 []*GoogleCloudAiplatformV1Tool `json:"tools,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CachedContent") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CachedContent") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateContentRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateContentRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateContentResponse: Response message for
// [PredictionService.GenerateContent].
type GoogleCloudAiplatformV1GenerateContentResponse struct {
	// Candidates: Output only. Generated candidates.
	Candidates []*GoogleCloudAiplatformV1Candidate `json:"candidates,omitempty"`
	// CreateTime: Output only. Timestamp when the request is made to the server.
	CreateTime string `json:"createTime,omitempty"`
	// ModelVersion: Output only. The model version used to generate the response.
	ModelVersion string `json:"modelVersion,omitempty"`
	// PromptFeedback: 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 *GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback `json:"promptFeedback,omitempty"`
	// ResponseId: Output only. response_id is used to identify each response. It
	// is the encoding of the event_id.
	ResponseId string `json:"responseId,omitempty"`
	// UsageMetadata: Usage metadata about the response(s).
	UsageMetadata *GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata `json:"usageMetadata,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Candidates") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Candidates") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateContentResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateContentResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback: Content filter
// results for a prompt sent in the request. Note: This is sent only in the
// first stream chunk and only if no candidates were generated due to content
// violations.
type GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback struct {
	// BlockReason: Output only. The reason why the prompt was blocked.
	//
	// Possible values:
	//   "BLOCKED_REASON_UNSPECIFIED" - The blocked reason is unspecified.
	//   "SAFETY" - The prompt was blocked for safety reasons.
	//   "OTHER" - The prompt was blocked for other reasons. For example, it may be
	// due to the prompt's language, or because it contains other harmful content.
	//   "BLOCKLIST" - The prompt was blocked because it contains a term from the
	// terminology blocklist.
	//   "PROHIBITED_CONTENT" - The prompt was blocked because it contains
	// prohibited content.
	//   "MODEL_ARMOR" - The prompt was blocked by Model Armor.
	//   "IMAGE_SAFETY" - The prompt was blocked because it contains content that
	// is unsafe for image generation.
	//   "JAILBREAK" - The prompt was blocked as a jailbreak attempt.
	BlockReason string `json:"blockReason,omitempty"`
	// BlockReasonMessage: Output only. A readable message that explains the reason
	// why the prompt was blocked.
	BlockReasonMessage string `json:"blockReasonMessage,omitempty"`
	// SafetyRatings: Output only. A list of safety ratings for the prompt. There
	// is one rating per category.
	SafetyRatings []*GoogleCloudAiplatformV1SafetyRating `json:"safetyRatings,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlockReason") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlockReason") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata: Usage metadata
// about the content generation request and response. This message provides a
// detailed breakdown of token usage and other relevant metrics.
type GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata struct {
	// CacheTokensDetails: Output only. A detailed breakdown of the token count for
	// each modality in the cached content.
	CacheTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"cacheTokensDetails,omitempty"`
	// CachedContentTokenCount: Output only. The number of tokens in the cached
	// content that was used for this request.
	CachedContentTokenCount int64 `json:"cachedContentTokenCount,omitempty"`
	// CandidatesTokenCount: The total number of tokens in the generated
	// candidates.
	CandidatesTokenCount int64 `json:"candidatesTokenCount,omitempty"`
	// CandidatesTokensDetails: Output only. A detailed breakdown of the token
	// count for each modality in the generated candidates.
	CandidatesTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"candidatesTokensDetails,omitempty"`
	// PromptTokenCount: The total number of tokens in the prompt. This includes
	// any text, images, or other media provided in the request. When
	// `cached_content` is set, this also includes the number of tokens in the
	// cached content.
	PromptTokenCount int64 `json:"promptTokenCount,omitempty"`
	// PromptTokensDetails: Output only. A detailed breakdown of the token count
	// for each modality in the prompt.
	PromptTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"promptTokensDetails,omitempty"`
	// ThoughtsTokenCount: Output only. The number of tokens that were part of the
	// model's generated "thoughts" output, if applicable.
	ThoughtsTokenCount int64 `json:"thoughtsTokenCount,omitempty"`
	// ToolUsePromptTokenCount: Output only. The number of tokens in the results
	// from tool executions, which are provided back to the model as input, if
	// applicable.
	ToolUsePromptTokenCount int64 `json:"toolUsePromptTokenCount,omitempty"`
	// ToolUsePromptTokensDetails: Output only. A detailed breakdown by modality of
	// the token counts from the results of tool executions, which are provided
	// back to the model as input.
	ToolUsePromptTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"toolUsePromptTokensDetails,omitempty"`
	// TotalTokenCount: The total number of tokens for the entire request. This is
	// the sum of `prompt_token_count`, `candidates_token_count`,
	// `tool_use_prompt_token_count`, and `thoughts_token_count`.
	TotalTokenCount int64 `json:"totalTokenCount,omitempty"`
	// TrafficType: Output only. The traffic type for this request.
	//
	// Possible values:
	//   "TRAFFIC_TYPE_UNSPECIFIED" - Unspecified request traffic type.
	//   "ON_DEMAND" - The request was processed using Pay-As-You-Go quota.
	//   "ON_DEMAND_PRIORITY" - Type for Priority Pay-As-You-Go traffic.
	//   "ON_DEMAND_FLEX" - Type for Flex traffic.
	//   "PROVISIONED_THROUGHPUT" - Type for Provisioned Throughput traffic.
	TrafficType string `json:"trafficType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CacheTokensDetails") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CacheTokensDetails") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest: Request message for
// FeatureOnlineStoreService.GenerateFetchAccessToken.
type GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest struct {
}

// GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse: Response message
// for FeatureOnlineStoreService.GenerateFetchAccessToken.
type GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse struct {
	// AccessToken: The OAuth 2.0 access token.
	AccessToken string `json:"accessToken,omitempty"`
	// ExpireTime: Token expiration time. This is always set
	ExpireTime string `json:"expireTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AccessToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccessToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateInstanceRubricsRequest: Request message for
// EvaluationService.GenerateInstanceRubrics.
type GoogleCloudAiplatformV1GenerateInstanceRubricsRequest struct {
	// AgentConfig: Optional. Agent configuration, required for agent-based rubric
	// generation.
	AgentConfig *GoogleCloudAiplatformV1EvaluationInstanceDeprecatedAgentConfig `json:"agentConfig,omitempty"`
	// Contents: Required. The prompt to generate rubrics from. 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 []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// Location: Required. The resource name of the Location to generate rubrics
	// from. Format: `projects/{project}/locations/{location}`
	Location string `json:"location,omitempty"`
	// MetricResourceName: Optional. The resource name of a registered metric.
	// Rubric generation using predefined metric spec or LLMBasedMetricSpec is
	// supported. If this field is set, the configuration provided in this field is
	// used for rubric generation. The `predefined_rubric_generation_spec` and
	// `rubric_generation_spec` fields will be ignored.
	MetricResourceName string `json:"metricResourceName,omitempty"`
	// PredefinedRubricGenerationSpec: Optional. Specification for using the rubric
	// generation configs of a pre-defined metric, e.g. "generic_quality_v1" and
	// "instruction_following_v1". Some of the configs may be only used in rubric
	// generation and not supporting evaluation, e.g.
	// "fully_customized_generic_quality_v1". If this field is set, the
	// `rubric_generation_spec` field will be ignored.
	PredefinedRubricGenerationSpec *GoogleCloudAiplatformV1PredefinedMetricSpec `json:"predefinedRubricGenerationSpec,omitempty"`
	// RubricGenerationSpec: Optional. Specification for how the rubrics should be
	// generated.
	RubricGenerationSpec *GoogleCloudAiplatformV1RubricGenerationSpec `json:"rubricGenerationSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateInstanceRubricsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateInstanceRubricsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateInstanceRubricsResponse: Response message for
// EvaluationService.GenerateInstanceRubrics.
type GoogleCloudAiplatformV1GenerateInstanceRubricsResponse struct {
	// GeneratedRubrics: Output only. A list of generated rubrics.
	GeneratedRubrics []*GoogleCloudAiplatformV1Rubric `json:"generatedRubrics,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "GeneratedRubrics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GeneratedRubrics") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateInstanceRubricsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateInstanceRubricsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateMemoriesRequest: Request message for
// MemoryBankService.GenerateMemories. Maximum size is 8 MB.
type GoogleCloudAiplatformV1GenerateMemoriesRequest struct {
	// AllowedTopics: Optional. Restricts memory generation to a subset of memory
	// topics.
	AllowedTopics []*GoogleCloudAiplatformV1MemoryTopicId `json:"allowedTopics,omitempty"`
	// DirectContentsSource: Defines a direct source of content as the source
	// content from which to generate memories.
	DirectContentsSource *GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSource `json:"directContentsSource,omitempty"`
	// DirectMemoriesSource: Defines a direct source of memories that should be
	// uploaded to Memory Bank. This is similar to `CreateMemory`, but it allows
	// for consolidation between these new memories and existing memories for the
	// same scope.
	DirectMemoriesSource *GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSource `json:"directMemoriesSource,omitempty"`
	// DisableConsolidation: Optional. If true, generated memories will not be
	// consolidated with existing memories; all generated memories will be added as
	// new memories regardless of whether they are duplicates of or contradictory
	// to existing memories. By default, memory consolidation is enabled.
	DisableConsolidation bool `json:"disableConsolidation,omitempty"`
	// DisableMemoryRevisions: Optional. If true, no revisions will be created for
	// this request.
	DisableMemoryRevisions bool `json:"disableMemoryRevisions,omitempty"`
	// Metadata: Optional. User-provided metadata for the generated memories. This
	// is not generated by Memory Bank.
	Metadata map[string]GoogleCloudAiplatformV1MemoryMetadataValue `json:"metadata,omitempty"`
	// MetadataMergeStrategy: Optional. The strategy to use when applying metadata
	// to existing memories.
	//
	// Possible values:
	//   "METADATA_MERGE_STRATEGY_UNSPECIFIED" - Unspecified metadata merge
	// strategy. If unspecified, the default behavior is to overwrite existing
	// metadata (`OVERWRITE`).
	//   "OVERWRITE" - Replace the metadata of the updated memories with the new
	// metadata.
	//   "MERGE" - Append new metadata to the existing metadata. If there are
	// duplicate keys, the existing values will be overwritten.
	//   "REQUIRE_EXACT_MATCH" - Restrict consolidation to memories that have
	// exactly the same metadata as the request. If a memory doesn't have the same
	// metadata, it is not eligible for consolidation.
	MetadataMergeStrategy string `json:"metadataMergeStrategy,omitempty"`
	// RevisionExpireTime: Optional. Timestamp of when the revision is considered
	// expired. If not set, the memory revision will be kept until manually
	// deleted.
	RevisionExpireTime string `json:"revisionExpireTime,omitempty"`
	// RevisionLabels: Optional. Labels to be applied to the generated memory
	// revisions. For example, you can use this to label a revision with its data
	// source.
	RevisionLabels map[string]string `json:"revisionLabels,omitempty"`
	// RevisionTtl: Optional. The TTL for the revision. The expiration time is
	// computed: now + TTL.
	RevisionTtl string `json:"revisionTtl,omitempty"`
	// Scope: Optional. The scope of the memories that should be generated.
	// Memories will be consolidated across memories with the same scope. Must be
	// provided unless the scope is defined in the source content. If `scope` is
	// provided, it will override the scope defined in the source content. Scope
	// values cannot contain the wildcard character '*'.
	Scope map[string]string `json:"scope,omitempty"`
	// VertexSessionSource: Defines a Vertex Session as the source content from
	// which to generate memories.
	VertexSessionSource *GoogleCloudAiplatformV1GenerateMemoriesRequestVertexSessionSource `json:"vertexSessionSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllowedTopics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllowedTopics") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateMemoriesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateMemoriesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSource: Defines
// a direct source of content from which to generate the memories.
type GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSource struct {
	// Events: Required. The source content (i.e. chat history) to generate
	// memories from.
	Events []*GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSourceEvent `json:"events,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Events") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Events") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSourceEvent: A
// single piece of conversation from which to generate memories.
type GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSourceEvent struct {
	// Content: Required. A single piece of content from which to generate
	// memories.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSourceEvent) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateMemoriesRequestDirectContentsSourceEvent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSource: Defines
// a direct source of memories that should be uploaded to Memory Bank with
// consolidation.
type GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSource struct {
	// DirectMemories: Required. The direct memories to upload to Memory Bank. At
	// most 5 direct memories are allowed per request.
	DirectMemories []*GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory `json:"directMemories,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DirectMemories") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DirectMemories") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSourceDirectMemor
// y: A direct memory to upload to Memory Bank.
type GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory struct {
	// Fact: Required. The fact to consolidate with existing memories.
	Fact string `json:"fact,omitempty"`
	// Topics: Optional. The topics that the consolidated memories should be
	// associated with.
	Topics []*GoogleCloudAiplatformV1MemoryTopicId `json:"topics,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Fact") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Fact") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateMemoriesRequestDirectMemoriesSourceDirectMemory
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateMemoriesRequestVertexSessionSource: Defines
// an Agent Engine Session from which to generate the memories. If `scope` is
// not provided, the scope will be extracted from the Session (i.e. {"user_id":
// sesison.user_id}).
type GoogleCloudAiplatformV1GenerateMemoriesRequestVertexSessionSource struct {
	// EndTime: Optional. End time (exclusive) of the time range. If not set, the
	// end time is unbounded.
	EndTime string `json:"endTime,omitempty"`
	// Session: Required. The resource name of the Session to generate memories
	// for. Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/
	// sessions/{session}`
	Session string `json:"session,omitempty"`
	// StartTime: Optional. Time range to define which session events should be
	// used to generate memories. Start time (inclusive) of the time range. If not
	// set, the start time is unbounded.
	StartTime string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateMemoriesRequestVertexSessionSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateMemoriesRequestVertexSessionSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateSyntheticDataRequest: Request message for
// DataFoundryService.GenerateSyntheticData. It contains the settings and
// information needed to generate synthetic data.
type GoogleCloudAiplatformV1GenerateSyntheticDataRequest struct {
	// Count: Required. The number of synthetic examples to generate. For this
	// stateless API, you can generate up to 50 examples in a single request.
	Count int64 `json:"count,omitempty"`
	// Examples: Optional. A list of few-shot examples that help the model
	// understand the desired style, tone, and format of the generated synthetic
	// data. Providing these few-shot examples can significantly improve the
	// quality and relevance of the output.
	Examples []*GoogleCloudAiplatformV1SyntheticExample `json:"examples,omitempty"`
	// OutputFieldSpecs: Required. Defines the schema of each synthetic example to
	// be generated, defined by a list of fields.
	OutputFieldSpecs []*GoogleCloudAiplatformV1OutputFieldSpec `json:"outputFieldSpecs,omitempty"`
	// TaskDescription: Generates synthetic data based on a high-level description
	// of the task or data you want.
	TaskDescription *GoogleCloudAiplatformV1TaskDescriptionStrategy `json:"taskDescription,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Count") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateSyntheticDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateSyntheticDataRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateSyntheticDataResponse: The response message
// for the `GenerateSyntheticData` method, containing the synthetic examples
// generated by the Gen AI evaluation service.
type GoogleCloudAiplatformV1GenerateSyntheticDataResponse struct {
	// SyntheticExamples: A list of generated synthetic examples, each containing a
	// complete synthetic data instance generated based on your request.
	SyntheticExamples []*GoogleCloudAiplatformV1SyntheticExample `json:"syntheticExamples,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "SyntheticExamples") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SyntheticExamples") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateSyntheticDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateSyntheticDataResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateVideoResponse: Generate video response.
type GoogleCloudAiplatformV1GenerateVideoResponse struct {
	// GeneratedSamples: The cloud storage uris of the generated videos.
	GeneratedSamples []string `json:"generatedSamples,omitempty"`
	// RaiMediaFilteredCount: Returns if any videos were filtered due to RAI
	// policies.
	RaiMediaFilteredCount int64 `json:"raiMediaFilteredCount,omitempty"`
	// RaiMediaFilteredReasons: Returns rai failure reasons if any.
	RaiMediaFilteredReasons []string `json:"raiMediaFilteredReasons,omitempty"`
	// Videos: List of video bytes or Cloud Storage URIs of the generated videos.
	Videos []*GoogleCloudAiplatformV1GenerateVideoResponseVideo `json:"videos,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GeneratedSamples") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GeneratedSamples") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateVideoResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateVideoResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerateVideoResponseVideo: A generated video.
type GoogleCloudAiplatformV1GenerateVideoResponseVideo struct {
	// BytesBase64Encoded: Base64 encoded bytes string representing the video.
	BytesBase64Encoded string `json:"bytesBase64Encoded,omitempty"`
	// GcsUri: Cloud Storage URI where the generated video is written.
	GcsUri string `json:"gcsUri,omitempty"`
	// MimeType: The MIME type of the content of the video. - video/mp4
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BytesBase64Encoded") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BytesBase64Encoded") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerateVideoResponseVideo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerateVideoResponseVideo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerationConfig: Configuration for content
// generation. This message contains all the parameters that control how the
// model generates content. It allows you to influence the randomness, length,
// and structure of the output.
type GoogleCloudAiplatformV1GenerationConfig struct {
	// AudioTimestamp: Optional. If enabled, audio timestamps will be included in
	// the request to the model. This can be useful for synchronizing audio with
	// other modalities in the response.
	AudioTimestamp bool `json:"audioTimestamp,omitempty"`
	// CandidateCount: Optional. The number of candidate responses to generate. A
	// higher `candidate_count` can provide more options to choose from, but it
	// also consumes more resources. This can be useful for generating a variety of
	// responses and selecting the best one.
	CandidateCount int64 `json:"candidateCount,omitempty"`
	// EnableAffectiveDialog: Optional. If enabled, the model will detect emotions
	// and adapt its responses accordingly. For example, if the model detects that
	// the user is frustrated, it may provide a more empathetic response.
	EnableAffectiveDialog bool `json:"enableAffectiveDialog,omitempty"`
	// FrequencyPenalty: Optional. Penalizes tokens based on their frequency in the
	// generated text. A positive value helps to reduce the repetition of words and
	// phrases. Valid values can range from [-2.0, 2.0].
	FrequencyPenalty float64 `json:"frequencyPenalty,omitempty"`
	// ImageConfig: Optional. Config for image generation features.
	ImageConfig *GoogleCloudAiplatformV1ImageConfig `json:"imageConfig,omitempty"`
	// Logprobs: Optional. The number of top log probabilities to return for each
	// token. This can be used to see which other tokens were considered likely
	// candidates for a given position. A higher value will return more options,
	// but it will also increase the size of the response.
	Logprobs int64 `json:"logprobs,omitempty"`
	// MaxOutputTokens: Optional. The maximum number of tokens to generate in the
	// response. A token is approximately four characters. The default value varies
	// by model. This parameter can be used to control the length of the generated
	// text and prevent overly long responses.
	MaxOutputTokens int64 `json:"maxOutputTokens,omitempty"`
	// MediaResolution: Optional. The token resolution at which input media content
	// is sampled. This is used to control the trade-off between the quality of the
	// response and the number of tokens used to represent the media. A higher
	// resolution allows the model to perceive more detail, which can lead to a
	// more nuanced response, but it will also use more tokens. This does not
	// affect the image dimensions sent to the model.
	//
	// Possible values:
	//   "MEDIA_RESOLUTION_UNSPECIFIED" - Media resolution has not been set.
	//   "MEDIA_RESOLUTION_LOW" - Media resolution set to low (64 tokens).
	//   "MEDIA_RESOLUTION_MEDIUM" - Media resolution set to medium (256 tokens).
	//   "MEDIA_RESOLUTION_HIGH" - Media resolution set to high (zoomed reframing
	// with 256 tokens).
	MediaResolution string `json:"mediaResolution,omitempty"`
	// PresencePenalty: Optional. Penalizes tokens that have already appeared in
	// the generated text. A positive value encourages the model to generate more
	// diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
	PresencePenalty float64 `json:"presencePenalty,omitempty"`
	// ResponseJsonSchema: Optional. When this field is set, response_schema must
	// be omitted and response_mime_type must be set to `application/json`.
	ResponseJsonSchema interface{} `json:"responseJsonSchema,omitempty"`
	// ResponseLogprobs: Optional. If set to true, the log probabilities of the
	// output tokens are returned. Log probabilities are the logarithm of the
	// probability of a token appearing in the output. A higher log probability
	// means the token is more likely to be generated. This can be useful for
	// analyzing the model's confidence in its own output and for debugging.
	ResponseLogprobs bool `json:"responseLogprobs,omitempty"`
	// ResponseMimeType: Optional. The IANA standard MIME type of the response. The
	// model will generate output that conforms to this MIME type. Supported values
	// include 'text/plain' (default) and 'application/json'. The model needs to be
	// prompted to output the appropriate response type, otherwise the behavior is
	// undefined.
	ResponseMimeType string `json:"responseMimeType,omitempty"`
	// ResponseModalities: Optional. The modalities of the response. The model will
	// generate a response that includes all the specified modalities. For example,
	// if this is set to `[TEXT, IMAGE]`, the response will include both text and
	// an image.
	//
	// Possible values:
	//   "MODALITY_UNSPECIFIED" - Unspecified modality. Will be processed as text.
	//   "TEXT" - Text modality.
	//   "IMAGE" - Image modality.
	//   "AUDIO" - Audio modality.
	//   "VIDEO" - Video modality.
	ResponseModalities []string `json:"responseModalities,omitempty"`
	// ResponseSchema: Optional. Lets you to specify a schema for the model's
	// response, ensuring that the output conforms to a particular structure. This
	// is useful for generating structured data such as JSON. The schema is a
	// subset of the OpenAPI 3.0 schema object
	// (https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is
	// set, you must also set the `response_mime_type` to `application/json`.
	ResponseSchema *GoogleCloudAiplatformV1Schema `json:"responseSchema,omitempty"`
	// RoutingConfig: Optional. Routing configuration.
	RoutingConfig *GoogleCloudAiplatformV1GenerationConfigRoutingConfig `json:"routingConfig,omitempty"`
	// Seed: Optional. A seed for the random number generator. By setting a seed,
	// you can make the model's output mostly deterministic. For a given prompt and
	// parameters (like temperature, top_p, etc.), the model will produce the same
	// response every time. However, it's not a guaranteed absolute deterministic
	// behavior. This is different from parameters like `temperature`, which
	// control the *level* of randomness. `seed` ensures that the "random" choices
	// the model makes are the same on every run, making it essential for testing
	// and ensuring reproducible results.
	Seed int64 `json:"seed,omitempty"`
	// SpeechConfig: Optional. The speech generation config.
	SpeechConfig *GoogleCloudAiplatformV1SpeechConfig `json:"speechConfig,omitempty"`
	// StopSequences: Optional. A list of character sequences that will stop the
	// model from generating further tokens. If a stop sequence is generated, the
	// output will end at that point. This is useful for controlling the length and
	// structure of the output. For example, you can use ["\n", "###"] to stop
	// generation at a new line or a specific marker.
	StopSequences []string `json:"stopSequences,omitempty"`
	// Temperature: Optional. Controls the randomness of the output. A higher
	// temperature results in more creative and diverse responses, while a lower
	// temperature makes the output more predictable and focused. The valid range
	// is (0.0, 2.0].
	Temperature float64 `json:"temperature,omitempty"`
	// ThinkingConfig: Optional. Configuration for thinking features. An error will
	// be returned if this field is set for models that don't support thinking.
	ThinkingConfig *GoogleCloudAiplatformV1GenerationConfigThinkingConfig `json:"thinkingConfig,omitempty"`
	// TopK: Optional. Specifies the top-k sampling threshold. The model considers
	// only the top k most probable tokens for the next token. This can be useful
	// for generating more coherent and less random text. For example, a `top_k` of
	// 40 means the model will choose the next word from the 40 most likely words.
	TopK float64 `json:"topK,omitempty"`
	// TopP: Optional. Specifies the nucleus sampling threshold. The model
	// considers only the smallest set of tokens whose cumulative probability is at
	// least `top_p`. This helps generate more diverse and less repetitive
	// responses. For example, a `top_p` of 0.9 means the model considers tokens
	// until the cumulative probability of the tokens to select from reaches 0.9.
	// It's recommended to adjust either temperature or `top_p`, but not both.
	TopP float64 `json:"topP,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AudioTimestamp") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AudioTimestamp") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1GenerationConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1GenerationConfig
	var s1 struct {
		FrequencyPenalty gensupport.JSONFloat64 `json:"frequencyPenalty"`
		PresencePenalty  gensupport.JSONFloat64 `json:"presencePenalty"`
		Temperature      gensupport.JSONFloat64 `json:"temperature"`
		TopK             gensupport.JSONFloat64 `json:"topK"`
		TopP             gensupport.JSONFloat64 `json:"topP"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.FrequencyPenalty = float64(s1.FrequencyPenalty)
	s.PresencePenalty = float64(s1.PresencePenalty)
	s.Temperature = float64(s1.Temperature)
	s.TopK = float64(s1.TopK)
	s.TopP = float64(s1.TopP)
	return nil
}

// GoogleCloudAiplatformV1GenerationConfigRoutingConfig: The configuration for
// routing the request to a specific model. This can be used to control which
// model is used for the generation, either automatically or by specifying a
// model name.
type GoogleCloudAiplatformV1GenerationConfigRoutingConfig struct {
	// AutoMode: In this mode, the model is selected automatically based on the
	// content of the request.
	AutoMode *GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode `json:"autoMode,omitempty"`
	// ManualMode: In this mode, the model is specified manually.
	ManualMode *GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode `json:"manualMode,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoMode") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoMode") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerationConfigRoutingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerationConfigRoutingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode: The
// configuration for automated routing. When automated routing is specified,
// the routing will be determined by the pretrained routing model and customer
// provided model routing preference.
type GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode struct {
	// ModelRoutingPreference: The model routing preference.
	//
	// Possible values:
	//   "UNKNOWN" - Unspecified model routing preference.
	//   "PRIORITIZE_QUALITY" - The model will be selected to prioritize the
	// quality of the response.
	//   "BALANCED" - The model will be selected to balance quality and cost.
	//   "PRIORITIZE_COST" - The model will be selected to prioritize the cost of
	// the request.
	ModelRoutingPreference string `json:"modelRoutingPreference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelRoutingPreference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelRoutingPreference") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode: The
// configuration for manual routing. When manual routing is specified, the
// model will be selected based on the model name provided.
type GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode struct {
	// ModelName: The name of the model to use. Only public LLM models are
	// accepted.
	ModelName string `json:"modelName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenerationConfigThinkingConfig: Configuration for the
// model's thinking features. "Thinking" is a process where the model breaks
// down a complex task into smaller, manageable steps. This allows the model to
// reason about the task, plan its approach, and execute the plan to generate a
// high-quality response.
type GoogleCloudAiplatformV1GenerationConfigThinkingConfig struct {
	// IncludeThoughts: Optional. If true, the model will include its thoughts in
	// the response. "Thoughts" are the intermediate steps the model takes to
	// arrive at the final response. They can provide insights into the model's
	// reasoning process and help with debugging. If this is true, thoughts are
	// returned only when available.
	IncludeThoughts bool `json:"includeThoughts,omitempty"`
	// ThinkingBudget: Optional. The token budget for the model's thinking process.
	// The model will make a best effort to stay within this budget. This can be
	// used to control the trade-off between response quality and latency.
	ThinkingBudget int64 `json:"thinkingBudget,omitempty"`
	// ThinkingLevel: Optional. The number of thoughts tokens that the model should
	// generate.
	//
	// Possible values:
	//   "THINKING_LEVEL_UNSPECIFIED" - Unspecified thinking level.
	//   "LOW" - Low thinking level.
	//   "MEDIUM" - Medium thinking level.
	//   "HIGH" - High thinking level.
	//   "MINIMAL" - MINIMAL thinking level.
	ThinkingLevel string `json:"thinkingLevel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IncludeThoughts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IncludeThoughts") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenerationConfigThinkingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenerationConfigThinkingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenericOperationMetadata: Generic Metadata shared by
// all operations.
type GoogleCloudAiplatformV1GenericOperationMetadata struct {
	// CreateTime: Output only. Time when the operation was created.
	CreateTime string `json:"createTime,omitempty"`
	// PartialFailures: 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 []*GoogleRpcStatus `json:"partialFailures,omitempty"`
	// UpdateTime: 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 string `json:"updateTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenericOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenericOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GenieSource: Contains information about the source of
// the models generated from Generative AI Studio.
type GoogleCloudAiplatformV1GenieSource struct {
	// BaseModelUri: Required. The public base model URI.
	BaseModelUri string `json:"baseModelUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaseModelUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaseModelUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GenieSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenieSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GoogleDriveSource: The Google Drive location for the
// input content.
type GoogleCloudAiplatformV1GoogleDriveSource struct {
	// ResourceIds: Required. Google Drive resource IDs.
	ResourceIds []*GoogleCloudAiplatformV1GoogleDriveSourceResourceId `json:"resourceIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ResourceIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ResourceIds") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GoogleDriveSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GoogleDriveSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GoogleDriveSourceResourceId: The type and ID of the
// Google Drive resource.
type GoogleCloudAiplatformV1GoogleDriveSourceResourceId struct {
	// ResourceId: Required. The ID of the Google Drive resource.
	ResourceId string `json:"resourceId,omitempty"`
	// ResourceType: Required. The type of the Google Drive resource.
	//
	// Possible values:
	//   "RESOURCE_TYPE_UNSPECIFIED" - Unspecified resource type.
	//   "RESOURCE_TYPE_FILE" - File resource type.
	//   "RESOURCE_TYPE_FOLDER" - Folder resource type.
	ResourceType string `json:"resourceType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ResourceId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ResourceId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GoogleDriveSourceResourceId) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GoogleDriveSourceResourceId
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GoogleMaps: Tool to retrieve public maps data for
// grounding, powered by Google.
type GoogleCloudAiplatformV1GoogleMaps struct {
	// EnableWidget: Optional. If true, include the widget context token in the
	// response.
	EnableWidget bool `json:"enableWidget,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnableWidget") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnableWidget") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GoogleMaps) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GoogleMaps
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GoogleSearchRetrieval: Tool to retrieve public web
// data for grounding, powered by Google.
type GoogleCloudAiplatformV1GoogleSearchRetrieval struct {
	// DynamicRetrievalConfig: Specifies the dynamic retrieval configuration for
	// the given source.
	DynamicRetrievalConfig *GoogleCloudAiplatformV1DynamicRetrievalConfig `json:"dynamicRetrievalConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DynamicRetrievalConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DynamicRetrievalConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GoogleSearchRetrieval) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GoogleSearchRetrieval
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundednessInput: Input for groundedness metric.
type GoogleCloudAiplatformV1GroundednessInput struct {
	// Instance: Required. Groundedness instance.
	Instance *GoogleCloudAiplatformV1GroundednessInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for groundedness metric.
	MetricSpec *GoogleCloudAiplatformV1GroundednessSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundednessInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundednessInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundednessInstance: Spec for groundedness instance.
type GoogleCloudAiplatformV1GroundednessInstance struct {
	// Context: Required. Background information provided in context used to
	// compare against the prediction.
	Context string `json:"context,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundednessInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundednessInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundednessResult: Spec for groundedness result.
type GoogleCloudAiplatformV1GroundednessResult struct {
	// Confidence: Output only. Confidence for groundedness score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for groundedness score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Groundedness score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundednessResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundednessResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1GroundednessResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1GroundednessResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1GroundednessSpec: Spec for groundedness metric.
type GoogleCloudAiplatformV1GroundednessSpec struct {
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Version") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundednessSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundednessSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunk: A piece of evidence that supports a
// claim made by the model. This is used to show a citation for a claim made by
// the model. When grounding is enabled, the model returns a `GroundingChunk`
// that contains a reference to the source of the information.
type GoogleCloudAiplatformV1GroundingChunk struct {
	// Image: A grounding chunk from an image search result. See the `Image`
	// message for details.
	Image *GoogleCloudAiplatformV1GroundingChunkImage `json:"image,omitempty"`
	// Maps: A grounding chunk from Google Maps. See the `Maps` message for
	// details.
	Maps *GoogleCloudAiplatformV1GroundingChunkMaps `json:"maps,omitempty"`
	// RetrievedContext: A grounding chunk from a data source retrieved by a
	// retrieval tool, such as Vertex AI Search. See the `RetrievedContext` message
	// for details
	RetrievedContext *GoogleCloudAiplatformV1GroundingChunkRetrievedContext `json:"retrievedContext,omitempty"`
	// Web: A grounding chunk from a web page, typically from Google Search. See
	// the `Web` message for details.
	Web *GoogleCloudAiplatformV1GroundingChunkWeb `json:"web,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Image") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunk) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunk
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunkImage: An `Image` chunk is a piece of
// evidence that comes from an image search result. It contains the URI of the
// image search result and the URI of the image. This is used to provide the
// user with a link to the source of the information.
type GoogleCloudAiplatformV1GroundingChunkImage struct {
	// Domain: The domain of the image search result page.
	Domain string `json:"domain,omitempty"`
	// ImageUri: The URI of the image.
	ImageUri string `json:"imageUri,omitempty"`
	// SourceUri: The URI of the image search result page.
	SourceUri string `json:"sourceUri,omitempty"`
	// Title: The title of the image search result page.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Domain") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunkImage) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunkImage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunkMaps: A `Maps` chunk is a piece of
// evidence that comes from Google Maps, containing information about places or
// routes. This is used to provide the user with rich, location-based
// information.
type GoogleCloudAiplatformV1GroundingChunkMaps struct {
	// PlaceAnswerSources: The sources that were used to generate the place answer.
	// This includes review snippets and photos that were used to generate the
	// answer, as well as URIs to flag content.
	PlaceAnswerSources *GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources `json:"placeAnswerSources,omitempty"`
	// PlaceId: This Place's resource name, in `places/{place_id}` format. This can
	// be used to look up the place in the Google Maps API.
	PlaceId string `json:"placeId,omitempty"`
	// Route: Output only. Route information.
	Route *GoogleCloudAiplatformV1GroundingChunkMapsRoute `json:"route,omitempty"`
	// Text: The text of the place answer.
	Text string `json:"text,omitempty"`
	// Title: The title of the place.
	Title string `json:"title,omitempty"`
	// Uri: The URI of the place.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PlaceAnswerSources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PlaceAnswerSources") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunkMaps) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunkMaps
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources: The sources
// that were used to generate the place answer. This includes review snippets
// and photos that were used to generate the answer, as well as URIs to flag
// content.
type GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources struct {
	// ReviewSnippets: Snippets of reviews that were used to generate the answer.
	ReviewSnippets []*GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet `json:"reviewSnippets,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ReviewSnippets") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ReviewSnippets") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet: A
// review snippet that is used to generate the answer.
type GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet struct {
	// GoogleMapsUri: A link to show the review on Google Maps.
	GoogleMapsUri string `json:"googleMapsUri,omitempty"`
	// ReviewId: The ID of the review that is being referenced.
	ReviewId string `json:"reviewId,omitempty"`
	// Title: The title of the review.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GoogleMapsUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoogleMapsUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunkMapsRoute: Route information from
// Google Maps.
type GoogleCloudAiplatformV1GroundingChunkMapsRoute struct {
	// DistanceMeters: The total distance of the route, in meters.
	DistanceMeters int64 `json:"distanceMeters,omitempty"`
	// Duration: The total duration of the route.
	Duration string `json:"duration,omitempty"`
	// EncodedPolyline: An encoded polyline of the route. See
	// https://developers.google.com/maps/documentation/utilities/polylinealgorithm
	EncodedPolyline string `json:"encodedPolyline,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DistanceMeters") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DistanceMeters") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunkMapsRoute) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunkMapsRoute
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunkRetrievedContext: Context retrieved
// from a data source to ground the model's response. This is used when a
// retrieval tool fetches information from a user-provided corpus or a public
// dataset.
type GoogleCloudAiplatformV1GroundingChunkRetrievedContext struct {
	// DocumentName: Output only. The full resource name of the referenced Vertex
	// AI Search document. This is used to identify the specific document that was
	// retrieved. The format is
	// `projects/{project}/locations/{location}/collections/{collection}/dataStores/
	// {data_store}/branches/{branch}/documents/{document}`.
	DocumentName string `json:"documentName,omitempty"`
	// RagChunk: Additional context for a Retrieval-Augmented Generation (RAG)
	// retrieval result. This is populated only when the RAG retrieval tool is
	// used.
	RagChunk *GoogleCloudAiplatformV1RagChunk `json:"ragChunk,omitempty"`
	// Text: The content of the retrieved data source.
	Text string `json:"text,omitempty"`
	// Title: The title of the retrieved data source.
	Title string `json:"title,omitempty"`
	// Uri: The URI of the retrieved data source.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DocumentName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DocumentName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunkRetrievedContext) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunkRetrievedContext
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingChunkWeb: A `Web` chunk is a piece of
// evidence that comes from a web page. It contains the URI of the web page,
// the title of the page, and the domain of the page. This is used to provide
// the user with a link to the source of the information.
type GoogleCloudAiplatformV1GroundingChunkWeb struct {
	// Domain: The domain of the web page that contains the evidence. This can be
	// used to filter out low-quality sources.
	Domain string `json:"domain,omitempty"`
	// Title: The title of the web page that contains the evidence.
	Title string `json:"title,omitempty"`
	// Uri: The URI of the web page that contains the evidence.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Domain") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingChunkWeb) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingChunkWeb
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingMetadata: Information about the sources that
// support the content of a response. When grounding is enabled, the model
// returns citations for claims in the response. This object contains the
// retrieved sources.
type GoogleCloudAiplatformV1GroundingMetadata struct {
	// GoogleMapsWidgetContextToken: Optional. Output only. A token that can be
	// used to render a Google Maps widget with the contextual data. This field is
	// populated only when the grounding source is Google Maps.
	GoogleMapsWidgetContextToken string `json:"googleMapsWidgetContextToken,omitempty"`
	// GroundingChunks: A list of supporting references retrieved from the
	// grounding source. This field is populated when the grounding source is
	// Google Search, Vertex AI Search, or Google Maps.
	GroundingChunks []*GoogleCloudAiplatformV1GroundingChunk `json:"groundingChunks,omitempty"`
	// GroundingSupports: Optional. A list of grounding supports that connect the
	// generated content to the grounding chunks. This field is populated when the
	// grounding source is Google Search or Vertex AI Search.
	GroundingSupports []*GoogleCloudAiplatformV1GroundingSupport `json:"groundingSupports,omitempty"`
	// ImageSearchQueries: Optional. The image search queries that were used to
	// generate the content. This field is populated only when the grounding source
	// is Google Search with the Image Search search_type enabled.
	ImageSearchQueries []string `json:"imageSearchQueries,omitempty"`
	// RetrievalMetadata: Optional. Output only. Metadata related to the retrieval
	// grounding source.
	RetrievalMetadata *GoogleCloudAiplatformV1RetrievalMetadata `json:"retrievalMetadata,omitempty"`
	// SearchEntryPoint: Optional. A web search entry point that can be used to
	// display search results. This field is populated only when the grounding
	// source is Google Search.
	SearchEntryPoint *GoogleCloudAiplatformV1SearchEntryPoint `json:"searchEntryPoint,omitempty"`
	// SourceFlaggingUris: Optional. Output only. A list of URIs that can be used
	// to flag a place or review for inappropriate content. This field is populated
	// only when the grounding source is Google Maps.
	SourceFlaggingUris []*GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri `json:"sourceFlaggingUris,omitempty"`
	// WebSearchQueries: Optional. The web search queries that were used to
	// generate the content. This field is populated only when the grounding source
	// is Google Search.
	WebSearchQueries []string `json:"webSearchQueries,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "GoogleMapsWidgetContextToken") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoogleMapsWidgetContextToken") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri: A URI that can be
// used to flag a place or review for inappropriate content. This is populated
// only when the grounding source is Google Maps.
type GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri struct {
	// FlagContentUri: The URI that can be used to flag the content.
	FlagContentUri string `json:"flagContentUri,omitempty"`
	// SourceId: The ID of the place or review.
	SourceId string `json:"sourceId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FlagContentUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FlagContentUri") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1GroundingSupport: A collection of supporting
// references for a segment or part of the model's response.
type GoogleCloudAiplatformV1GroundingSupport struct {
	// ConfidenceScores: The confidence scores for the support references. This
	// list is parallel to the `grounding_chunk_indices` list. A score is a value
	// between 0.0 and 1.0, with a higher score indicating a higher confidence that
	// the reference supports the claim. For Gemini 2.0 and before, this list has
	// the same size as `grounding_chunk_indices`. For Gemini 2.5 and later, this
	// list is empty and should be ignored.
	ConfidenceScores []float64 `json:"confidenceScores,omitempty"`
	// GroundingChunkIndices: A list of indices into the `grounding_chunks` field
	// of the `GroundingMetadata` message. These indices specify which grounding
	// chunks support the claim made in the content segment. For example, if this
	// field has the values `[1, 3]`, it means that `grounding_chunks[1]` and
	// `grounding_chunks[3]` are the sources for the claim in the content segment.
	GroundingChunkIndices []int64 `json:"groundingChunkIndices,omitempty"`
	// RenderedParts: Indices into the `rendered_parts` field of the
	// `GroundingMetadata` message. These indices specify which rendered parts are
	// associated with this support message.
	RenderedParts []int64 `json:"renderedParts,omitempty"`
	// Segment: The content segment that this support message applies to.
	Segment *GoogleCloudAiplatformV1Segment `json:"segment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceScores") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceScores") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1GroundingSupport) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GroundingSupport
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1GroundingSupport) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1GroundingSupport
	var s1 struct {
		ConfidenceScores []gensupport.JSONFloat64 `json:"confidenceScores"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceScores = make([]float64, len(s1.ConfidenceScores))
	for i := range s1.ConfidenceScores {
		s.ConfidenceScores[i] = float64(s1.ConfidenceScores[i])
	}
	return nil
}

// GoogleCloudAiplatformV1HyperparameterTuningJob: Represents a
// HyperparameterTuningJob. A HyperparameterTuningJob has a Study specification
// and multiple CustomJobs with identical CustomJob specification.
type GoogleCloudAiplatformV1HyperparameterTuningJob struct {
	// CreateTime: Output only. Time when the HyperparameterTuningJob was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EndTime: Output only. Time when the HyperparameterTuningJob entered any of
	// the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
	// `JOB_STATE_CANCELLED`.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. Only populated when job's state is JOB_STATE_FAILED or
	// JOB_STATE_CANCELLED.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// MaxFailedTrialCount: 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 int64 `json:"maxFailedTrialCount,omitempty"`
	// MaxTrialCount: Required. The desired total number of Trials.
	MaxTrialCount int64 `json:"maxTrialCount,omitempty"`
	// Name: Output only. Resource name of the HyperparameterTuningJob.
	Name string `json:"name,omitempty"`
	// ParallelTrialCount: Required. The desired number of Trials to run in
	// parallel.
	ParallelTrialCount int64 `json:"parallelTrialCount,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// StartTime: Output only. Time when the HyperparameterTuningJob for the first
	// time entered the `JOB_STATE_RUNNING` state.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the job.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	State string `json:"state,omitempty"`
	// StudySpec: Required. Study configuration of the HyperparameterTuningJob.
	StudySpec *GoogleCloudAiplatformV1StudySpec `json:"studySpec,omitempty"`
	// TrialJobSpec: Required. The spec of a trial job. The same spec applies to
	// the CustomJobs created in all the trials.
	TrialJobSpec *GoogleCloudAiplatformV1CustomJobSpec `json:"trialJobSpec,omitempty"`
	// Trials: Output only. Trials of the HyperparameterTuningJob.
	Trials []*GoogleCloudAiplatformV1Trial `json:"trials,omitempty"`
	// UpdateTime: Output only. Time when the HyperparameterTuningJob was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1HyperparameterTuningJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1HyperparameterTuningJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IdMatcher: Matcher for Features of an EntityType by
// Feature ID.
type GoogleCloudAiplatformV1IdMatcher struct {
	// Ids: 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 `json:"ids,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Ids") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Ids") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IdMatcher) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IdMatcher
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImageConfig: Configuration for image generation. This
// message allows you to control various aspects of image generation, such as
// the output format, aspect ratio, and whether the model can generate images
// of people.
type GoogleCloudAiplatformV1ImageConfig struct {
	// AspectRatio: Optional. The desired aspect ratio for the generated images.
	// The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3"
	// "4:5", "5:4" "9:16", "16:9" "21:9"
	AspectRatio string `json:"aspectRatio,omitempty"`
	// ImageOutputOptions: Optional. The image output format for generated images.
	ImageOutputOptions *GoogleCloudAiplatformV1ImageConfigImageOutputOptions `json:"imageOutputOptions,omitempty"`
	// ImageSize: Optional. Specifies the size of generated images. Supported
	// values are `1K`, `2K`, `4K`. If not specified, the model will use default
	// value `1K`.
	ImageSize string `json:"imageSize,omitempty"`
	// PersonGeneration: Optional. Controls whether the model can generate people.
	//
	// Possible values:
	//   "PERSON_GENERATION_UNSPECIFIED" - The default behavior is unspecified. The
	// model will decide whether to generate images of people.
	//   "ALLOW_ALL" - Allows the model to generate images of people, including
	// adults and children.
	//   "ALLOW_ADULT" - Allows the model to generate images of adults, but not
	// children.
	//   "ALLOW_NONE" - Prevents the model from generating images of people.
	PersonGeneration string `json:"personGeneration,omitempty"`
	// ProminentPeople: Optional. Controls whether prominent people (celebrities)
	// generation is allowed. If used with personGeneration, personGeneration enum
	// would take precedence. For instance, if ALLOW_NONE is set, all person
	// generation would be blocked. If this field is unspecified, the default
	// behavior is to allow prominent people.
	//
	// Possible values:
	//   "PROMINENT_PEOPLE_UNSPECIFIED" - Unspecified value. The model will proceed
	// with the default behavior, which is to allow generation of prominent people.
	//   "ALLOW_PROMINENT_PEOPLE" - Allows the model to generate images of
	// prominent people.
	//   "BLOCK_PROMINENT_PEOPLE" - Prevents the model from generating images of
	// prominent people.
	ProminentPeople string `json:"prominentPeople,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AspectRatio") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AspectRatio") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImageConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImageConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImageConfigImageOutputOptions: The image output
// format for generated images.
type GoogleCloudAiplatformV1ImageConfigImageOutputOptions struct {
	// CompressionQuality: Optional. The compression quality of the output image.
	CompressionQuality int64 `json:"compressionQuality,omitempty"`
	// MimeType: Optional. The image format that the output should be saved as.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CompressionQuality") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompressionQuality") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImageConfigImageOutputOptions) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImageConfigImageOutputOptions
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportDataConfig: 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 GoogleCloudAiplatformV1ImportDataConfig struct {
	// AnnotationLabels: 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, payload_schema_uri
	// and all of their labels are the same. These labels will be overridden by
	// Annotation labels specified inside index file referenced by
	// import_schema_uri, e.g. jsonl file.
	AnnotationLabels map[string]string `json:"annotationLabels,omitempty"`
	// DataItemLabels: 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, e.g. jsonl
	// file.
	DataItemLabels map[string]string `json:"dataItemLabels,omitempty"`
	// GcsSource: The Google Cloud Storage location for the input content.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// ImportSchemaUri: 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 `json:"importSchemaUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationLabels") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationLabels") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportDataConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportDataConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportDataOperationMetadata: Runtime operation
// information for DatasetService.ImportData.
type GoogleCloudAiplatformV1ImportDataOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportDataOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportDataOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportDataRequest: Request message for
// DatasetService.ImportData.
type GoogleCloudAiplatformV1ImportDataRequest struct {
	// ImportConfigs: Required. The desired input locations. The contents of all
	// input locations will be imported in one batch.
	ImportConfigs []*GoogleCloudAiplatformV1ImportDataConfig `json:"importConfigs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ImportConfigs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImportConfigs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportDataRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportDataResponse: Response message for
// DatasetService.ImportData.
type GoogleCloudAiplatformV1ImportDataResponse struct {
}

// GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata: Details of
// operations that perform import Feature values.
type GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata struct {
	// BlockingOperationIds: List of ImportFeatureValues operations running under a
	// single EntityType that are blocking this operation.
	BlockingOperationIds googleapi.Int64s `json:"blockingOperationIds,omitempty"`
	// GenericMetadata: Operation metadata for Featurestore import Feature values.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ImportedEntityCount: Number of entities that have been imported by the
	// operation.
	ImportedEntityCount int64 `json:"importedEntityCount,omitempty,string"`
	// ImportedFeatureValueCount: Number of Feature values that have been imported
	// by the operation.
	ImportedFeatureValueCount int64 `json:"importedFeatureValueCount,omitempty,string"`
	// InvalidRowCount: 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 `json:"invalidRowCount,omitempty,string"`
	// SourceUris: The source URI from where Feature values are imported.
	SourceUris []string `json:"sourceUris,omitempty"`
	// TimestampOutsideRetentionRowsCount: The number rows that weren't ingested
	// due to having timestamps outside the retention boundary.
	TimestampOutsideRetentionRowsCount int64 `json:"timestampOutsideRetentionRowsCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "BlockingOperationIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlockingOperationIds") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportFeatureValuesRequest: Request message for
// FeaturestoreService.ImportFeatureValues.
type GoogleCloudAiplatformV1ImportFeatureValuesRequest struct {
	AvroSource     *GoogleCloudAiplatformV1AvroSource     `json:"avroSource,omitempty"`
	BigquerySource *GoogleCloudAiplatformV1BigQuerySource `json:"bigquerySource,omitempty"`
	CsvSource      *GoogleCloudAiplatformV1CsvSource      `json:"csvSource,omitempty"`
	// DisableIngestionAnalysis: If true, API doesn't start ingestion analysis
	// pipeline.
	DisableIngestionAnalysis bool `json:"disableIngestionAnalysis,omitempty"`
	// DisableOnlineServing: 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 `json:"disableOnlineServing,omitempty"`
	// EntityIdField: Source column that holds entity IDs. If not provided, entity
	// IDs are extracted from the column named entity_id.
	EntityIdField string `json:"entityIdField,omitempty"`
	// FeatureSpecs: 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 []*GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec `json:"featureSpecs,omitempty"`
	// FeatureTime: Single Feature timestamp for all entities being imported. The
	// timestamp must not have higher than millisecond precision.
	FeatureTime string `json:"featureTime,omitempty"`
	// FeatureTimeField: Source column that holds the Feature timestamp for all
	// Feature values in each entity.
	FeatureTimeField string `json:"featureTimeField,omitempty"`
	// WorkerCount: 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 int64 `json:"workerCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvroSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvroSource") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec: Defines the
// Feature value(s) to import.
type GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec struct {
	// Id: Required. ID of the Feature to import values of. This Feature must exist
	// in the target EntityType, or the request will fail.
	Id string `json:"id,omitempty"`
	// SourceField: Source column to get the Feature values from. If not set, uses
	// the column with the same name as the Feature ID.
	SourceField string `json:"sourceField,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Id") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportFeatureValuesResponse: Response message for
// FeaturestoreService.ImportFeatureValues.
type GoogleCloudAiplatformV1ImportFeatureValuesResponse struct {
	// ImportedEntityCount: Number of entities that have been imported by the
	// operation.
	ImportedEntityCount int64 `json:"importedEntityCount,omitempty,string"`
	// ImportedFeatureValueCount: Number of Feature values that have been imported
	// by the operation.
	ImportedFeatureValueCount int64 `json:"importedFeatureValueCount,omitempty,string"`
	// InvalidRowCount: 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 `json:"invalidRowCount,omitempty,string"`
	// TimestampOutsideRetentionRowsCount: The number rows that weren't ingested
	// due to having feature timestamps outside the retention boundary.
	TimestampOutsideRetentionRowsCount int64 `json:"timestampOutsideRetentionRowsCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ImportedEntityCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImportedEntityCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportFeatureValuesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportModelEvaluationRequest: Request message for
// ModelService.ImportModelEvaluation
type GoogleCloudAiplatformV1ImportModelEvaluationRequest struct {
	// ModelEvaluation: Required. Model evaluation resource to be imported.
	ModelEvaluation *GoogleCloudAiplatformV1ModelEvaluation `json:"modelEvaluation,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelEvaluation") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelEvaluation") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportModelEvaluationRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportModelEvaluationRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportRagFilesConfig: Config for importing RagFiles.
type GoogleCloudAiplatformV1ImportRagFilesConfig struct {
	// GcsSource: Google Cloud Storage location. Supports importing individual
	// files as well as entire Google Cloud Storage directories. Sample formats: -
	// `gs://bucket_name/my_directory/object_name/my_file.txt` -
	// `gs://bucket_name/my_directory`
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// GoogleDriveSource: Google Drive location. Supports importing individual
	// files as well as Google Drive folders.
	GoogleDriveSource *GoogleCloudAiplatformV1GoogleDriveSource `json:"googleDriveSource,omitempty"`
	// ImportResultBigquerySink: The BigQuery destination to write import result
	// to. It should be a bigquery table resource name (e.g.
	// "bq://projectId.bqDatasetId.bqTableId"). The dataset must exist. If the
	// table does not exist, it will be created with the expected schema. If the
	// table exists, the schema will be validated and data will be added to this
	// existing table.
	ImportResultBigquerySink *GoogleCloudAiplatformV1BigQueryDestination `json:"importResultBigquerySink,omitempty"`
	// ImportResultGcsSink: The Cloud Storage path to write import result to.
	ImportResultGcsSink *GoogleCloudAiplatformV1GcsDestination `json:"importResultGcsSink,omitempty"`
	// JiraSource: Jira queries with their corresponding authentication.
	JiraSource *GoogleCloudAiplatformV1JiraSource `json:"jiraSource,omitempty"`
	// MaxEmbeddingRequestsPerMin: Optional. The max number of queries per minute
	// that this job is allowed to make to the embedding model specified on the
	// corpus. This value is specific to this job and not shared across other
	// import jobs. Consult the Quotas page on the project to set an appropriate
	// value here. If unspecified, a default value of 1,000 QPM would be used.
	MaxEmbeddingRequestsPerMin int64 `json:"maxEmbeddingRequestsPerMin,omitempty"`
	// PartialFailureBigquerySink: The BigQuery destination to write partial
	// failures to. It should be a bigquery table resource name (e.g.
	// "bq://projectId.bqDatasetId.bqTableId"). The dataset must exist. If the
	// table does not exist, it will be created with the expected schema. If the
	// table exists, the schema will be validated and data will be added to this
	// existing table. Deprecated. Prefer to use `import_result_bq_sink`.
	PartialFailureBigquerySink *GoogleCloudAiplatformV1BigQueryDestination `json:"partialFailureBigquerySink,omitempty"`
	// PartialFailureGcsSink: The Cloud Storage path to write partial failures to.
	// Deprecated. Prefer to use `import_result_gcs_sink`.
	PartialFailureGcsSink *GoogleCloudAiplatformV1GcsDestination `json:"partialFailureGcsSink,omitempty"`
	// RagFileParsingConfig: Optional. Specifies the parsing config for RagFiles.
	// RAG will use the default parser if this field is not set.
	RagFileParsingConfig *GoogleCloudAiplatformV1RagFileParsingConfig `json:"ragFileParsingConfig,omitempty"`
	// RagFileTransformationConfig: Specifies the transformation config for
	// RagFiles.
	RagFileTransformationConfig *GoogleCloudAiplatformV1RagFileTransformationConfig `json:"ragFileTransformationConfig,omitempty"`
	// RebuildAnnIndex: Rebuilds the ANN index to optimize for recall on the
	// imported data. Only applicable for RagCorpora running on RagManagedDb with
	// `retrieval_strategy` set to `ANN`. The rebuild will be performed using the
	// existing ANN config set on the RagCorpus. To change the ANN config, please
	// use the UpdateRagCorpus API. Default is false, i.e., index is not rebuilt.
	RebuildAnnIndex bool `json:"rebuildAnnIndex,omitempty"`
	// SharePointSources: SharePoint sources.
	SharePointSources *GoogleCloudAiplatformV1SharePointSources `json:"sharePointSources,omitempty"`
	// SlackSource: Slack channels with their corresponding access tokens.
	SlackSource *GoogleCloudAiplatformV1SlackSource `json:"slackSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsSource") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportRagFilesConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportRagFilesConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ImportRagFilesRequest: Request message for
// VertexRagDataService.ImportRagFiles.
type GoogleCloudAiplatformV1ImportRagFilesRequest struct {
	// ImportRagFilesConfig: Required. The config for the RagFiles to be synced and
	// imported into the RagCorpus. VertexRagDataService.ImportRagFiles.
	ImportRagFilesConfig *GoogleCloudAiplatformV1ImportRagFilesConfig `json:"importRagFilesConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ImportRagFilesConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImportRagFilesConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ImportRagFilesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportRagFilesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Index: 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 GoogleCloudAiplatformV1Index struct {
	// CreateTime: Output only. Timestamp when this Index was created.
	CreateTime string `json:"createTime,omitempty"`
	// DeployedIndexes: 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 []*GoogleCloudAiplatformV1DeployedIndexRef `json:"deployedIndexes,omitempty"`
	// Description: The description of the Index.
	Description string `json:"description,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// IndexStats: Output only. Stats of the index resource.
	IndexStats *GoogleCloudAiplatformV1IndexStats `json:"indexStats,omitempty"`
	// IndexUpdateMethod: Immutable. The update method to use with this Index. If
	// not set, BATCH_UPDATE will be used by default.
	//
	// Possible values:
	//   "INDEX_UPDATE_METHOD_UNSPECIFIED" - Should not be used.
	//   "BATCH_UPDATE" - BatchUpdate: user can call UpdateIndex with files on
	// Cloud Storage of Datapoints to update.
	//   "STREAM_UPDATE" - StreamUpdate: user can call
	// UpsertDatapoints/DeleteDatapoints to update the Index and the updates will
	// be applied in corresponding DeployedIndexes in nearly real-time.
	IndexUpdateMethod string `json:"indexUpdateMethod,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Metadata: An additional information about the Index; the schema of the
	// metadata can be found in metadata_schema.
	Metadata interface{} `json:"metadata,omitempty"`
	// MetadataSchemaUri: 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 `json:"metadataSchemaUri,omitempty"`
	// Name: Output only. The resource name of the Index.
	Name string `json:"name,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// UpdateTime: 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 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 string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Index) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Index
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IndexDatapoint: A datapoint of Index.
type GoogleCloudAiplatformV1IndexDatapoint struct {
	// CrowdingTag: Optional. CrowdingTag of the datapoint, the number of neighbors
	// to return in each crowding can be configured during query.
	CrowdingTag *GoogleCloudAiplatformV1IndexDatapointCrowdingTag `json:"crowdingTag,omitempty"`
	// DatapointId: Required. Unique identifier of the datapoint.
	DatapointId string `json:"datapointId,omitempty"`
	// EmbeddingMetadata: Optional. The key-value map of additional metadata for
	// the datapoint.
	EmbeddingMetadata googleapi.RawMessage `json:"embeddingMetadata,omitempty"`
	// FeatureVector: Required. Feature embedding vector for dense index. An array
	// of numbers with the length of [NearestNeighborSearchConfig.dimensions].
	FeatureVector []float64 `json:"featureVector,omitempty"`
	// NumericRestricts: 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 []*GoogleCloudAiplatformV1IndexDatapointNumericRestriction `json:"numericRestricts,omitempty"`
	// Restricts: 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 []*GoogleCloudAiplatformV1IndexDatapointRestriction `json:"restricts,omitempty"`
	// SparseEmbedding: Optional. Feature embedding vector for sparse index.
	SparseEmbedding *GoogleCloudAiplatformV1IndexDatapointSparseEmbedding `json:"sparseEmbedding,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CrowdingTag") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CrowdingTag") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexDatapoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexDatapoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1IndexDatapoint) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1IndexDatapoint
	var s1 struct {
		FeatureVector []gensupport.JSONFloat64 `json:"featureVector"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.FeatureVector = make([]float64, len(s1.FeatureVector))
	for i := range s1.FeatureVector {
		s.FeatureVector[i] = float64(s1.FeatureVector[i])
	}
	return nil
}

// GoogleCloudAiplatformV1IndexDatapointCrowdingTag: 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 GoogleCloudAiplatformV1IndexDatapointCrowdingTag struct {
	// CrowdingAttribute: 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 `json:"crowdingAttribute,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CrowdingAttribute") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CrowdingAttribute") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexDatapointCrowdingTag) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexDatapointCrowdingTag
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IndexDatapointNumericRestriction: This field allows
// restricts to be based on numeric comparisons rather than categorical tokens.
type GoogleCloudAiplatformV1IndexDatapointNumericRestriction struct {
	// Namespace: The namespace of this restriction. e.g.: cost.
	Namespace string `json:"namespace,omitempty"`
	// Op: This MUST be specified for queries and must NOT be specified for
	// datapoints.
	//
	// Possible values:
	//   "OPERATOR_UNSPECIFIED" - Default value of the enum.
	//   "LESS" - Datapoints are eligible iff their value is < the query's.
	//   "LESS_EQUAL" - Datapoints are eligible iff their value is <= the query's.
	//   "EQUAL" - Datapoints are eligible iff their value is == the query's.
	//   "GREATER_EQUAL" - Datapoints are eligible iff their value is >= the
	// query's.
	//   "GREATER" - Datapoints are eligible iff their value is > the query's.
	//   "NOT_EQUAL" - Datapoints are eligible iff their value is != the query's.
	Op string `json:"op,omitempty"`
	// ValueDouble: Represents 64 bit float.
	ValueDouble float64 `json:"valueDouble,omitempty"`
	// ValueFloat: Represents 32 bit float.
	ValueFloat float64 `json:"valueFloat,omitempty"`
	// ValueInt: Represents 64 bit integer.
	ValueInt int64 `json:"valueInt,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Namespace") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Namespace") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexDatapointNumericRestriction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexDatapointNumericRestriction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1IndexDatapointNumericRestriction) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1IndexDatapointNumericRestriction
	var s1 struct {
		ValueDouble gensupport.JSONFloat64 `json:"valueDouble"`
		ValueFloat  gensupport.JSONFloat64 `json:"valueFloat"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ValueDouble = float64(s1.ValueDouble)
	s.ValueFloat = float64(s1.ValueFloat)
	return nil
}

// GoogleCloudAiplatformV1IndexDatapointRestriction: Restriction of a datapoint
// which describe its attributes(tokens) from each of several attribute
// categories(namespaces).
type GoogleCloudAiplatformV1IndexDatapointRestriction struct {
	// AllowList: The attributes to allow in this namespace. e.g.: 'red'
	AllowList []string `json:"allowList,omitempty"`
	// DenyList: The attributes to deny in this namespace. e.g.: 'blue'
	DenyList []string `json:"denyList,omitempty"`
	// Namespace: The namespace of this restriction. e.g.: color.
	Namespace string `json:"namespace,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllowList") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllowList") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexDatapointRestriction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexDatapointRestriction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IndexDatapointSparseEmbedding: Feature embedding
// vector for sparse index. An array of numbers whose values are located in the
// specified dimensions.
type GoogleCloudAiplatformV1IndexDatapointSparseEmbedding struct {
	// Dimensions: Required. The list of indexes for the embedding values of the
	// sparse vector.
	Dimensions googleapi.Int64s `json:"dimensions,omitempty"`
	// Values: Required. The list of embedding values of the sparse vector.
	Values []float64 `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dimensions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dimensions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexDatapointSparseEmbedding) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexDatapointSparseEmbedding
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1IndexDatapointSparseEmbedding) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1IndexDatapointSparseEmbedding
	var s1 struct {
		Values []gensupport.JSONFloat64 `json:"values"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Values = make([]float64, len(s1.Values))
	for i := range s1.Values {
		s.Values[i] = float64(s1.Values[i])
	}
	return nil
}

// GoogleCloudAiplatformV1IndexEndpoint: Indexes are deployed into it. An
// IndexEndpoint can have multiple DeployedIndexes.
type GoogleCloudAiplatformV1IndexEndpoint struct {
	// CreateTime: Output only. Timestamp when this IndexEndpoint was created.
	CreateTime string `json:"createTime,omitempty"`
	// DeployedIndexes: Output only. The indexes deployed in this endpoint.
	DeployedIndexes []*GoogleCloudAiplatformV1DeployedIndex `json:"deployedIndexes,omitempty"`
	// Description: The description of the IndexEndpoint.
	Description string `json:"description,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EnablePrivateServiceConnect: Optional. Deprecated: If true, expose the
	// IndexEndpoint via private service connect. Only one of the fields, network
	// or enable_private_service_connect, can be set.
	EnablePrivateServiceConnect bool `json:"enablePrivateServiceConnect,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. The resource name of the IndexEndpoint.
	Name string `json:"name,omitempty"`
	// Network: 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 and 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 `json:"network,omitempty"`
	// PrivateServiceConnectConfig: Optional. Configuration for private service
	// connect. network and private_service_connect_config are mutually exclusive.
	PrivateServiceConnectConfig *GoogleCloudAiplatformV1PrivateServiceConnectConfig `json:"privateServiceConnectConfig,omitempty"`
	// PublicEndpointDomainName: Output only. If public_endpoint_enabled is true,
	// this field will be populated with the domain name to use for this index
	// endpoint.
	PublicEndpointDomainName string `json:"publicEndpointDomainName,omitempty"`
	// PublicEndpointEnabled: Optional. If true, the deployed index will be
	// accessible through public endpoint.
	PublicEndpointEnabled bool `json:"publicEndpointEnabled,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// UpdateTime: 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 string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexEndpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexEndpoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IndexPrivateEndpoints: 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 GoogleCloudAiplatformV1IndexPrivateEndpoints struct {
	// MatchGrpcAddress: Output only. The ip address used to send match gRPC
	// requests.
	MatchGrpcAddress string `json:"matchGrpcAddress,omitempty"`
	// PscAutomatedEndpoints: Output only. PscAutomatedEndpoints is populated if
	// private service connect is enabled if PscAutomatedConfig is set.
	PscAutomatedEndpoints []*GoogleCloudAiplatformV1PscAutomatedEndpoints `json:"pscAutomatedEndpoints,omitempty"`
	// ServiceAttachment: Output only. The name of the service attachment resource.
	// Populated if private service connect is enabled.
	ServiceAttachment string `json:"serviceAttachment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MatchGrpcAddress") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MatchGrpcAddress") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexPrivateEndpoints) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexPrivateEndpoints
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IndexStats: Stats of the Index.
type GoogleCloudAiplatformV1IndexStats struct {
	// ShardsCount: Output only. The number of shards in the Index.
	ShardsCount int64 `json:"shardsCount,omitempty"`
	// SparseVectorsCount: Output only. The number of sparse vectors in the Index.
	SparseVectorsCount int64 `json:"sparseVectorsCount,omitempty,string"`
	// VectorsCount: Output only. The number of dense vectors in the Index.
	VectorsCount int64 `json:"vectorsCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ShardsCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ShardsCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IndexStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexStats
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1InputDataConfig: Specifies Vertex AI owned input data
// to be used for training, and possibly evaluating, the Model.
type GoogleCloudAiplatformV1InputDataConfig struct {
	// AnnotationSchemaUri: 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 of the Dataset specified by
	// 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, the Annotations used for
	// training are filtered by both annotations_filter and annotation_schema_uri.
	AnnotationSchemaUri string `json:"annotationSchemaUri,omitempty"`
	// AnnotationsFilter: 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 may be used, but note here it filters across all Annotations
	// of the Dataset, and not just within a single DataItem.
	AnnotationsFilter string `json:"annotationsFilter,omitempty"`
	// BigqueryDestination: Only applicable to custom training with tabular Dataset
	// with BigQuery source. The BigQuery project location where the training data
	// is to be written to. In the given project a new dataset is created with name
	// `dataset___` where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All
	// training input data is written into that dataset. In the dataset three
	// tables are created, `training`, `validation` and `test`. * AIP_DATA_FORMAT =
	// "bigquery". * AIP_TRAINING_DATA_URI =
	// "bigquery_destination.dataset___.training" * AIP_VALIDATION_DATA_URI =
	// "bigquery_destination.dataset___.validation" * AIP_TEST_DATA_URI =
	// "bigquery_destination.dataset___.test"
	BigqueryDestination *GoogleCloudAiplatformV1BigQueryDestination `json:"bigqueryDestination,omitempty"`
	// DatasetId: 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. For
	// tabular Datasets, all their data is exported to training, to pick and choose
	// from.
	DatasetId string `json:"datasetId,omitempty"`
	// FilterSplit: Split based on the provided filters for each set.
	FilterSplit *GoogleCloudAiplatformV1FilterSplit `json:"filterSplit,omitempty"`
	// FractionSplit: Split based on fractions defining the size of each set.
	FractionSplit *GoogleCloudAiplatformV1FractionSplit `json:"fractionSplit,omitempty"`
	// GcsDestination: 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---/training-*.${AIP_DATA_FORMAT}" *
	// AIP_VALIDATION_DATA_URI =
	// "gcs_destination/dataset---/validation-*.${AIP_DATA_FORMAT}" *
	// AIP_TEST_DATA_URI = "gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}"
	GcsDestination *GoogleCloudAiplatformV1GcsDestination `json:"gcsDestination,omitempty"`
	// PersistMlUseAssignment: Whether to persist the ML use assignment to data
	// item system labels.
	PersistMlUseAssignment bool `json:"persistMlUseAssignment,omitempty"`
	// PredefinedSplit: Supported only for tabular Datasets. Split based on a
	// predefined key.
	PredefinedSplit *GoogleCloudAiplatformV1PredefinedSplit `json:"predefinedSplit,omitempty"`
	// SavedQueryId: Only applicable to Datasets that have SavedQueries. The ID of
	// a SavedQuery (annotation set) under the Dataset specified by 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, the Annotations used for training are
	// filtered by both saved_query_id and annotations_filter. Only one of
	// saved_query_id and annotation_schema_uri should be specified as both of them
	// represent the same thing: problem type.
	SavedQueryId string `json:"savedQueryId,omitempty"`
	// StratifiedSplit: Supported only for tabular Datasets. Split based on the
	// distribution of the specified column.
	StratifiedSplit *GoogleCloudAiplatformV1StratifiedSplit `json:"stratifiedSplit,omitempty"`
	// TimestampSplit: Supported only for tabular Datasets. Split based on the
	// timestamp of the input data pieces.
	TimestampSplit *GoogleCloudAiplatformV1TimestampSplit `json:"timestampSplit,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSchemaUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSchemaUri") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1InputDataConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1InputDataConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Int64Array: A list of int64 values.
type GoogleCloudAiplatformV1Int64Array struct {
	// Values: A list of int64 values.
	Values googleapi.Int64s `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Int64Array) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Int64Array
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IntegratedGradientsAttribution: 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 GoogleCloudAiplatformV1IntegratedGradientsAttribution struct {
	// BlurBaselineConfig: 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 *GoogleCloudAiplatformV1BlurBaselineConfig `json:"blurBaselineConfig,omitempty"`
	// SmoothGradConfig: 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 *GoogleCloudAiplatformV1SmoothGradConfig `json:"smoothGradConfig,omitempty"`
	// StepCount: 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 int64 `json:"stepCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlurBaselineConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlurBaselineConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IntegratedGradientsAttribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IntegratedGradientsAttribution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1IntermediateExtractedMemory: An extracted memory that
// is the intermediate result before consolidation.
type GoogleCloudAiplatformV1IntermediateExtractedMemory struct {
	// Context: Output only. Represents the explanation of why the information was
	// extracted from the source content.
	Context string `json:"context,omitempty"`
	// Fact: Output only. Represents the fact of the extracted memory.
	Fact string `json:"fact,omitempty"`
	// StructuredData: Output only. Represents the structured value of the
	// extracted memory.
	StructuredData googleapi.RawMessage `json:"structuredData,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1IntermediateExtractedMemory) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IntermediateExtractedMemory
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1InvokeRequest: Request message for
// PredictionService.Invoke.
type GoogleCloudAiplatformV1InvokeRequest struct {
	// DeployedModelId: ID of the DeployedModel that serves the invoke request.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// HttpBody: The invoke method input. Supports HTTP headers and arbitrary data
	// payload.
	HttpBody *GoogleApiHttpBody `json:"httpBody,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1InvokeRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1InvokeRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1JiraSource: The Jira source for the
// ImportRagFilesRequest.
type GoogleCloudAiplatformV1JiraSource struct {
	// JiraQueries: Required. The Jira queries.
	JiraQueries []*GoogleCloudAiplatformV1JiraSourceJiraQueries `json:"jiraQueries,omitempty"`
	// ForceSendFields is a list of field names (e.g. "JiraQueries") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "JiraQueries") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1JiraSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1JiraSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1JiraSourceJiraQueries: JiraQueries contains the Jira
// queries and corresponding authentication.
type GoogleCloudAiplatformV1JiraSourceJiraQueries struct {
	// ApiKeyConfig: Required. The SecretManager secret version resource name (e.g.
	// projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API
	// key. See Manage API tokens for your Atlassian account
	// (https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/).
	ApiKeyConfig *GoogleCloudAiplatformV1ApiAuthApiKeyConfig `json:"apiKeyConfig,omitempty"`
	// CustomQueries: A list of custom Jira queries to import. For information
	// about JQL (Jira Query Language), see
	// https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/
	CustomQueries []string `json:"customQueries,omitempty"`
	// Email: Required. The Jira email address.
	Email string `json:"email,omitempty"`
	// Projects: A list of Jira projects to import in their entirety.
	Projects []string `json:"projects,omitempty"`
	// ServerUri: Required. The Jira server URI.
	ServerUri string `json:"serverUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiKeyConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiKeyConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1JiraSourceJiraQueries) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1JiraSourceJiraQueries
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1KeepAliveProbe: Represents the configuration for
// keep-alive probe. Contains configuration on a specified endpoint that a
// deployment host should use to keep the container alive based on the probe
// settings.
type GoogleCloudAiplatformV1KeepAliveProbe struct {
	// HttpGet: Optional. Specifies the HTTP GET configuration for the probe.
	HttpGet *GoogleCloudAiplatformV1KeepAliveProbeHttpGet `json:"httpGet,omitempty"`
	// MaxSeconds: Optional. Specifies the maximum duration (in seconds) to keep
	// the instance alive via this probe. Can be a maximum of 3600 seconds (1
	// hour).
	MaxSeconds int64 `json:"maxSeconds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "HttpGet") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HttpGet") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1KeepAliveProbe) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1KeepAliveProbe
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1KeepAliveProbeHttpGet: Specifies the HTTP GET
// configuration for the probe.
type GoogleCloudAiplatformV1KeepAliveProbeHttpGet struct {
	// Path: Required. Specifies the path of the HTTP GET request (e.g.,
	// "/is_busy").
	Path string `json:"path,omitempty"`
	// Port: Optional. Specifies the port number on the container to which the
	// request is sent.
	Port int64 `json:"port,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Path") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Path") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1KeepAliveProbeHttpGet) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1KeepAliveProbeHttpGet
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1LLMBasedMetricSpec: Specification for an LLM based
// metric.
type GoogleCloudAiplatformV1LLMBasedMetricSpec struct {
	// AdditionalConfig: Optional. Optional additional configuration for the
	// metric.
	AdditionalConfig googleapi.RawMessage `json:"additionalConfig,omitempty"`
	// JudgeAutoraterConfig: Optional. Optional configuration for the judge LLM
	// (Autorater).
	JudgeAutoraterConfig *GoogleCloudAiplatformV1AutoraterConfig `json:"judgeAutoraterConfig,omitempty"`
	// MetricPromptTemplate: Required. Template for the prompt sent to the judge
	// model.
	MetricPromptTemplate string `json:"metricPromptTemplate,omitempty"`
	// PredefinedRubricGenerationSpec: Dynamically generate rubrics using a
	// predefined spec.
	PredefinedRubricGenerationSpec *GoogleCloudAiplatformV1PredefinedMetricSpec `json:"predefinedRubricGenerationSpec,omitempty"`
	// ResultParserConfig: Optional. The parser config for the metric result.
	ResultParserConfig *GoogleCloudAiplatformV1EvaluationParserConfig `json:"resultParserConfig,omitempty"`
	// RubricGenerationSpec: Dynamically generate rubrics using this specification.
	RubricGenerationSpec *GoogleCloudAiplatformV1RubricGenerationSpec `json:"rubricGenerationSpec,omitempty"`
	// RubricGroupKey: Use a pre-defined group of rubrics associated with the
	// input. Refers to a key in the rubric_groups map of EvaluationInstance.
	RubricGroupKey string `json:"rubricGroupKey,omitempty"`
	// SystemInstruction: Optional. System instructions for the judge model.
	SystemInstruction string `json:"systemInstruction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LLMBasedMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LLMBasedMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1LargeModelReference: Contains information about the
// Large Model.
type GoogleCloudAiplatformV1LargeModelReference struct {
	// Name: 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 `json:"name,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LargeModelReference) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LargeModelReference
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1LineageSubgraph: A subgraph of the overall lineage
// graph. Event edges connect Artifact and Execution nodes.
type GoogleCloudAiplatformV1LineageSubgraph struct {
	// Artifacts: The Artifact nodes in the subgraph.
	Artifacts []*GoogleCloudAiplatformV1Artifact `json:"artifacts,omitempty"`
	// Events: The Event edges between Artifacts and Executions in the subgraph.
	Events []*GoogleCloudAiplatformV1Event `json:"events,omitempty"`
	// Executions: The Execution nodes in the subgraph.
	Executions []*GoogleCloudAiplatformV1Execution `json:"executions,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Artifacts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Artifacts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LineageSubgraph) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LineageSubgraph
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListAnnotationsResponse: Response message for
// DatasetService.ListAnnotations.
type GoogleCloudAiplatformV1ListAnnotationsResponse struct {
	// Annotations: A list of Annotations that matches the specified filter in the
	// request.
	Annotations []*GoogleCloudAiplatformV1Annotation `json:"annotations,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Annotations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Annotations") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListAnnotationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListAnnotationsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListArtifactsResponse: Response message for
// MetadataService.ListArtifacts.
type GoogleCloudAiplatformV1ListArtifactsResponse struct {
	// Artifacts: The Artifacts retrieved from the MetadataStore.
	Artifacts []*GoogleCloudAiplatformV1Artifact `json:"artifacts,omitempty"`
	// NextPageToken: A token, which can be sent as ListArtifactsRequest.page_token
	// to retrieve the next page. If this field is not populated, there are no
	// subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Artifacts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Artifacts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListArtifactsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListArtifactsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListBatchPredictionJobsResponse: Response message for
// JobService.ListBatchPredictionJobs
type GoogleCloudAiplatformV1ListBatchPredictionJobsResponse struct {
	// BatchPredictionJobs: List of BatchPredictionJobs in the requested page.
	BatchPredictionJobs []*GoogleCloudAiplatformV1BatchPredictionJob `json:"batchPredictionJobs,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListBatchPredictionJobsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BatchPredictionJobs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BatchPredictionJobs") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListBatchPredictionJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListBatchPredictionJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListCachedContentsResponse: Response with a list of
// CachedContents.
type GoogleCloudAiplatformV1ListCachedContentsResponse struct {
	// CachedContents: List of cached contents.
	CachedContents []*GoogleCloudAiplatformV1CachedContent `json:"cachedContents,omitempty"`
	// NextPageToken: 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 `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CachedContents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CachedContents") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListCachedContentsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListCachedContentsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListContextsResponse: Response message for
// MetadataService.ListContexts.
type GoogleCloudAiplatformV1ListContextsResponse struct {
	// Contexts: The Contexts retrieved from the MetadataStore.
	Contexts []*GoogleCloudAiplatformV1Context `json:"contexts,omitempty"`
	// NextPageToken: A token, which can be sent as ListContextsRequest.page_token
	// to retrieve the next page. If this field is not populated, there are no
	// subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Contexts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contexts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListContextsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListContextsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListCustomJobsResponse: Response message for
// JobService.ListCustomJobs
type GoogleCloudAiplatformV1ListCustomJobsResponse struct {
	// CustomJobs: List of CustomJobs in the requested page.
	CustomJobs []*GoogleCloudAiplatformV1CustomJob `json:"customJobs,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListCustomJobsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CustomJobs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomJobs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListCustomJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListCustomJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListDataItemsResponse: Response message for
// DatasetService.ListDataItems.
type GoogleCloudAiplatformV1ListDataItemsResponse struct {
	// DataItems: A list of DataItems that matches the specified filter in the
	// request.
	DataItems []*GoogleCloudAiplatformV1DataItem `json:"dataItems,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DataItems") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataItems") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListDataItemsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDataItemsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListDataLabelingJobsResponse: Response message for
// JobService.ListDataLabelingJobs.
type GoogleCloudAiplatformV1ListDataLabelingJobsResponse struct {
	// DataLabelingJobs: A list of DataLabelingJobs that matches the specified
	// filter in the request.
	DataLabelingJobs []*GoogleCloudAiplatformV1DataLabelingJob `json:"dataLabelingJobs,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DataLabelingJobs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataLabelingJobs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListDataLabelingJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDataLabelingJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListDatasetVersionsResponse: Response message for
// DatasetService.ListDatasetVersions.
type GoogleCloudAiplatformV1ListDatasetVersionsResponse struct {
	// DatasetVersions: A list of DatasetVersions that matches the specified filter
	// in the request.
	DatasetVersions []*GoogleCloudAiplatformV1DatasetVersion `json:"datasetVersions,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DatasetVersions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DatasetVersions") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListDatasetVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDatasetVersionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListDatasetsResponse: Response message for
// DatasetService.ListDatasets.
type GoogleCloudAiplatformV1ListDatasetsResponse struct {
	// Datasets: A list of Datasets that matches the specified filter in the
	// request.
	Datasets []*GoogleCloudAiplatformV1Dataset `json:"datasets,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Datasets") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Datasets") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListDatasetsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDatasetsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse: Response message
// for ListDeploymentResourcePools method.
type GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse struct {
	// DeploymentResourcePools: The DeploymentResourcePools from the specified
	// location.
	DeploymentResourcePools []*GoogleCloudAiplatformV1DeploymentResourcePool `json:"deploymentResourcePools,omitempty"`
	// NextPageToken: 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 `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DeploymentResourcePools") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeploymentResourcePools") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListEndpointsResponse: Response message for
// EndpointService.ListEndpoints.
type GoogleCloudAiplatformV1ListEndpointsResponse struct {
	// Endpoints: List of Endpoints in the requested page.
	Endpoints []*GoogleCloudAiplatformV1Endpoint `json:"endpoints,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListEndpointsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Endpoints") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Endpoints") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListEndpointsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEndpointsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListEntityTypesResponse: Response message for
// FeaturestoreService.ListEntityTypes.
type GoogleCloudAiplatformV1ListEntityTypesResponse struct {
	// EntityTypes: The EntityTypes matching the request.
	EntityTypes []*GoogleCloudAiplatformV1EntityType `json:"entityTypes,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListEntityTypesRequest.page_token to retrieve the next page. If this field
	// is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "EntityTypes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityTypes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListEntityTypesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEntityTypesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListEvaluationItemsResponse: Response message for
// EvaluationManagementService.ListEvaluationItems.
type GoogleCloudAiplatformV1ListEvaluationItemsResponse struct {
	// EvaluationItems: List of EvaluationItems in the requested page.
	EvaluationItems []*GoogleCloudAiplatformV1EvaluationItem `json:"evaluationItems,omitempty"`
	// NextPageToken: A token to retrieve the next page of results.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "EvaluationItems") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluationItems") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListEvaluationItemsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEvaluationItemsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListEvaluationRunsResponse: Response message for
// EvaluationManagementService.ListEvaluationRuns.
type GoogleCloudAiplatformV1ListEvaluationRunsResponse struct {
	// EvaluationRuns: List of EvaluationRuns in the requested page.
	EvaluationRuns []*GoogleCloudAiplatformV1EvaluationRun `json:"evaluationRuns,omitempty"`
	// NextPageToken: A token to retrieve the next page of results.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "EvaluationRuns") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluationRuns") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListEvaluationRunsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEvaluationRunsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListEvaluationSetsResponse: Response message for
// EvaluationManagementService.ListEvaluationSets.
type GoogleCloudAiplatformV1ListEvaluationSetsResponse struct {
	// EvaluationSets: List of EvaluationSets in the requested page.
	EvaluationSets []*GoogleCloudAiplatformV1EvaluationSet `json:"evaluationSets,omitempty"`
	// NextPageToken: A token to retrieve the next page of results.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "EvaluationSets") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluationSets") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListEvaluationSetsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEvaluationSetsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListEventsResponse: Response message for
// SessionService.ListEvents.
type GoogleCloudAiplatformV1ListEventsResponse struct {
	// NextPageToken: A token, which can be sent as ListEventsRequest.page_token to
	// retrieve the next page. Absence of this field indicates there are no
	// subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// SessionEvents: A list of events matching the request. Ordered by timestamp
	// in ascending order.
	SessionEvents []*GoogleCloudAiplatformV1SessionEvent `json:"sessionEvents,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListEventsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEventsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListExecutionsResponse: Response message for
// MetadataService.ListExecutions.
type GoogleCloudAiplatformV1ListExecutionsResponse struct {
	// Executions: The Executions retrieved from the MetadataStore.
	Executions []*GoogleCloudAiplatformV1Execution `json:"executions,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListExecutionsRequest.page_token to retrieve the next page. If this field is
	// not populated, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Executions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Executions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListExecutionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListExecutionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListFeatureGroupsResponse: Response message for
// FeatureRegistryService.ListFeatureGroups.
type GoogleCloudAiplatformV1ListFeatureGroupsResponse struct {
	// FeatureGroups: The FeatureGroups matching the request.
	FeatureGroups []*GoogleCloudAiplatformV1FeatureGroup `json:"featureGroups,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListFeatureGroupsRequest.page_token to retrieve the next page. If this field
	// is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FeatureGroups") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureGroups") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListFeatureGroupsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeatureGroupsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse: Response message for
// FeatureOnlineStoreAdminService.ListFeatureOnlineStores.
type GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse struct {
	// FeatureOnlineStores: The FeatureOnlineStores matching the request.
	FeatureOnlineStores []*GoogleCloudAiplatformV1FeatureOnlineStore `json:"featureOnlineStores,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListFeatureOnlineStoresRequest.page_token to retrieve the next page. If this
	// field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FeatureOnlineStores") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureOnlineStores") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListFeatureViewSyncsResponse: Response message for
// FeatureOnlineStoreAdminService.ListFeatureViewSyncs.
type GoogleCloudAiplatformV1ListFeatureViewSyncsResponse struct {
	// FeatureViewSyncs: The FeatureViewSyncs matching the request.
	FeatureViewSyncs []*GoogleCloudAiplatformV1FeatureViewSync `json:"featureViewSyncs,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListFeatureViewSyncsRequest.page_token to retrieve the next page. If this
	// field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FeatureViewSyncs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureViewSyncs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListFeatureViewSyncsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeatureViewSyncsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListFeatureViewsResponse: Response message for
// FeatureOnlineStoreAdminService.ListFeatureViews.
type GoogleCloudAiplatformV1ListFeatureViewsResponse struct {
	// FeatureViews: The FeatureViews matching the request.
	FeatureViews []*GoogleCloudAiplatformV1FeatureView `json:"featureViews,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListFeatureViewsRequest.page_token to retrieve the next page. If this field
	// is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FeatureViews") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureViews") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListFeatureViewsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeatureViewsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListFeaturesResponse: Response message for
// FeaturestoreService.ListFeatures. Response message for
// FeatureRegistryService.ListFeatures.
type GoogleCloudAiplatformV1ListFeaturesResponse struct {
	// Features: The Features matching the request.
	Features []*GoogleCloudAiplatformV1Feature `json:"features,omitempty"`
	// NextPageToken: A token, which can be sent as ListFeaturesRequest.page_token
	// to retrieve the next page. If this field is omitted, there are no subsequent
	// pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Features") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Features") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListFeaturesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeaturesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListFeaturestoresResponse: Response message for
// FeaturestoreService.ListFeaturestores.
type GoogleCloudAiplatformV1ListFeaturestoresResponse struct {
	// Featurestores: The Featurestores matching the request.
	Featurestores []*GoogleCloudAiplatformV1Featurestore `json:"featurestores,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListFeaturestoresRequest.page_token to retrieve the next page. If this field
	// is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Featurestores") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Featurestores") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListFeaturestoresResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeaturestoresResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse: Response
// message for JobService.ListHyperparameterTuningJobs
type GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse struct {
	// HyperparameterTuningJobs: List of HyperparameterTuningJobs in the requested
	// page. HyperparameterTuningJob.trials of the jobs will be not be returned.
	HyperparameterTuningJobs []*GoogleCloudAiplatformV1HyperparameterTuningJob `json:"hyperparameterTuningJobs,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListHyperparameterTuningJobsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "HyperparameterTuningJobs")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HyperparameterTuningJobs") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListIndexEndpointsResponse: Response message for
// IndexEndpointService.ListIndexEndpoints.
type GoogleCloudAiplatformV1ListIndexEndpointsResponse struct {
	// IndexEndpoints: List of IndexEndpoints in the requested page.
	IndexEndpoints []*GoogleCloudAiplatformV1IndexEndpoint `json:"indexEndpoints,omitempty"`
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListIndexEndpointsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "IndexEndpoints") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IndexEndpoints") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListIndexEndpointsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListIndexEndpointsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListIndexesResponse: Response message for
// IndexService.ListIndexes.
type GoogleCloudAiplatformV1ListIndexesResponse struct {
	// Indexes: List of indexes in the requested page.
	Indexes []*GoogleCloudAiplatformV1Index `json:"indexes,omitempty"`
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListIndexesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Indexes") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Indexes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListIndexesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListIndexesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListMemoriesResponse: Response message for
// MemoryBankService.ListMemories.
type GoogleCloudAiplatformV1ListMemoriesResponse struct {
	// Memories: List of Memories in the requested page.
	Memories []*GoogleCloudAiplatformV1Memory `json:"memories,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListMemoriesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Memories") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Memories") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListMemoriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListMemoriesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListMemoryRevisionsResponse: Response message for
// MemoryBankService.ListMemoryRevisions.
type GoogleCloudAiplatformV1ListMemoryRevisionsResponse struct {
	// MemoryRevisions: The list of Memory Revisions in the request page.
	MemoryRevisions []*GoogleCloudAiplatformV1MemoryRevision `json:"memoryRevisions,omitempty"`
	// NextPageToken: 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 `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MemoryRevisions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MemoryRevisions") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListMemoryRevisionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListMemoryRevisionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListMetadataSchemasResponse: Response message for
// MetadataService.ListMetadataSchemas.
type GoogleCloudAiplatformV1ListMetadataSchemasResponse struct {
	// MetadataSchemas: The MetadataSchemas found for the MetadataStore.
	MetadataSchemas []*GoogleCloudAiplatformV1MetadataSchema `json:"metadataSchemas,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListMetadataSchemasRequest.page_token to retrieve the next page. If this
	// field is not populated, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MetadataSchemas") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetadataSchemas") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListMetadataSchemasResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListMetadataSchemasResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListMetadataStoresResponse: Response message for
// MetadataService.ListMetadataStores.
type GoogleCloudAiplatformV1ListMetadataStoresResponse struct {
	// MetadataStores: The MetadataStores found for the Location.
	MetadataStores []*GoogleCloudAiplatformV1MetadataStore `json:"metadataStores,omitempty"`
	// NextPageToken: A token, which can be sent as
	// ListMetadataStoresRequest.page_token to retrieve the next page. If this
	// field is not populated, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MetadataStores") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetadataStores") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListMetadataStoresResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListMetadataStoresResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse: Response
// message for JobService.ListModelDeploymentMonitoringJobs.
type GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse struct {
	// ModelDeploymentMonitoringJobs: A list of ModelDeploymentMonitoringJobs that
	// matches the specified filter in the request.
	ModelDeploymentMonitoringJobs []*GoogleCloudAiplatformV1ModelDeploymentMonitoringJob `json:"modelDeploymentMonitoringJobs,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "ModelDeploymentMonitoringJobs") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelDeploymentMonitoringJobs")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse: Response message
// for ModelService.ListModelEvaluationSlices.
type GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse struct {
	// ModelEvaluationSlices: List of ModelEvaluations in the requested page.
	ModelEvaluationSlices []*GoogleCloudAiplatformV1ModelEvaluationSlice `json:"modelEvaluationSlices,omitempty"`
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListModelEvaluationSlicesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ModelEvaluationSlices") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelEvaluationSlices") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListModelEvaluationsResponse: Response message for
// ModelService.ListModelEvaluations.
type GoogleCloudAiplatformV1ListModelEvaluationsResponse struct {
	// ModelEvaluations: List of ModelEvaluations in the requested page.
	ModelEvaluations []*GoogleCloudAiplatformV1ModelEvaluation `json:"modelEvaluations,omitempty"`
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListModelEvaluationsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ModelEvaluations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelEvaluations") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListModelEvaluationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelEvaluationsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse: Response message
// for ModelService.ListModelVersionCheckpoints
type GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse struct {
	// Checkpoints: List of Model Version checkpoints.
	Checkpoints []*GoogleCloudAiplatformV1ModelVersionCheckpoint `json:"checkpoints,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListModelVersionCheckpointsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Checkpoints") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Checkpoints") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListModelVersionsResponse: Response message for
// ModelService.ListModelVersions
type GoogleCloudAiplatformV1ListModelVersionsResponse struct {
	// Models: List of Model versions in the requested page. In the returned Model
	// name field, version ID instead of regvision tag will be included.
	Models []*GoogleCloudAiplatformV1Model `json:"models,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListModelVersionsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Models") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Models") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListModelVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelVersionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListModelsResponse: Response message for
// ModelService.ListModels
type GoogleCloudAiplatformV1ListModelsResponse struct {
	// Models: List of Models in the requested page.
	Models []*GoogleCloudAiplatformV1Model `json:"models,omitempty"`
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListModelsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Models") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Models") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListModelsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListNasJobsResponse: Response message for
// JobService.ListNasJobs
type GoogleCloudAiplatformV1ListNasJobsResponse struct {
	// NasJobs: List of NasJobs in the requested page. NasJob.nas_job_output of the
	// jobs will not be returned.
	NasJobs []*GoogleCloudAiplatformV1NasJob `json:"nasJobs,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListNasJobsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NasJobs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NasJobs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListNasJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNasJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListNasTrialDetailsResponse: Response message for
// JobService.ListNasTrialDetails
type GoogleCloudAiplatformV1ListNasTrialDetailsResponse struct {
	// NasTrialDetails: List of top NasTrials in the requested page.
	NasTrialDetails []*GoogleCloudAiplatformV1NasTrialDetail `json:"nasTrialDetails,omitempty"`
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListNasTrialDetailsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NasTrialDetails") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NasTrialDetails") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListNasTrialDetailsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNasTrialDetailsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse: Response message
// for [NotebookService.CreateNotebookExecutionJob]
type GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse struct {
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListNotebookExecutionJobsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// NotebookExecutionJobs: List of NotebookExecutionJobs in the requested page.
	NotebookExecutionJobs []*GoogleCloudAiplatformV1NotebookExecutionJob `json:"notebookExecutionJobs,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse: Response
// message for NotebookService.ListNotebookRuntimeTemplates.
type GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse struct {
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListNotebookRuntimeTemplatesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// NotebookRuntimeTemplates: List of NotebookRuntimeTemplates in the requested
	// page.
	NotebookRuntimeTemplates []*GoogleCloudAiplatformV1NotebookRuntimeTemplate `json:"notebookRuntimeTemplates,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListNotebookRuntimesResponse: Response message for
// NotebookService.ListNotebookRuntimes.
type GoogleCloudAiplatformV1ListNotebookRuntimesResponse struct {
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListNotebookRuntimesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// NotebookRuntimes: List of NotebookRuntimes in the requested page.
	NotebookRuntimes []*GoogleCloudAiplatformV1NotebookRuntime `json:"notebookRuntimes,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListNotebookRuntimesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNotebookRuntimesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListOptimalTrialsRequest: Request message for
// VizierService.ListOptimalTrials.
type GoogleCloudAiplatformV1ListOptimalTrialsRequest struct {
}

// GoogleCloudAiplatformV1ListOptimalTrialsResponse: Response message for
// VizierService.ListOptimalTrials.
type GoogleCloudAiplatformV1ListOptimalTrialsResponse struct {
	// OptimalTrials: The pareto-optimal Trials for multiple objective Study or the
	// optimal trial for single objective Study. The definition of pareto-optimal
	// can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency
	OptimalTrials []*GoogleCloudAiplatformV1Trial `json:"optimalTrials,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "OptimalTrials") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OptimalTrials") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListOptimalTrialsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListOptimalTrialsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListPersistentResourcesResponse: Response message for
// PersistentResourceService.ListPersistentResources
type GoogleCloudAiplatformV1ListPersistentResourcesResponse struct {
	// NextPageToken: A token to retrieve next page of results. Pass to
	// ListPersistentResourcesRequest.page_token to obtain that page.
	NextPageToken       string                                       `json:"nextPageToken,omitempty"`
	PersistentResources []*GoogleCloudAiplatformV1PersistentResource `json:"persistentResources,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListPersistentResourcesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListPersistentResourcesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListPipelineJobsResponse: Response message for
// PipelineService.ListPipelineJobs
type GoogleCloudAiplatformV1ListPipelineJobsResponse struct {
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListPipelineJobsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// PipelineJobs: List of PipelineJobs in the requested page.
	PipelineJobs []*GoogleCloudAiplatformV1PipelineJob `json:"pipelineJobs,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListPipelineJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListPipelineJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListRagCorporaResponse: Response message for
// VertexRagDataService.ListRagCorpora.
type GoogleCloudAiplatformV1ListRagCorporaResponse struct {
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListRagCorporaRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// RagCorpora: List of RagCorpora in the requested page.
	RagCorpora []*GoogleCloudAiplatformV1RagCorpus `json:"ragCorpora,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListRagCorporaResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListRagCorporaResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListRagFilesResponse: Response message for
// VertexRagDataService.ListRagFiles.
type GoogleCloudAiplatformV1ListRagFilesResponse struct {
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListRagFilesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// RagFiles: List of RagFiles in the requested page.
	RagFiles []*GoogleCloudAiplatformV1RagFile `json:"ragFiles,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListRagFilesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListRagFilesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListReasoningEnginesResponse: Response message for
// ReasoningEngineService.ListReasoningEngines
type GoogleCloudAiplatformV1ListReasoningEnginesResponse struct {
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListReasoningEnginesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// ReasoningEngines: List of ReasoningEngines in the requested page.
	ReasoningEngines []*GoogleCloudAiplatformV1ReasoningEngine `json:"reasoningEngines,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListReasoningEnginesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListReasoningEnginesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse: Response
// message for SandboxEnvironmentService.ListSandboxEnvironmentSnapshots.
type GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse struct {
	// NextPageToken: A token, which can be sent as
	// ListSandboxEnvironmentSnapshotsRequest.page_token to retrieve the next page.
	// Absence of this field indicates there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// SandboxEnvironmentSnapshots: The SandboxEnvironmentSnapshots matching the
	// request.
	SandboxEnvironmentSnapshots []*GoogleCloudAiplatformV1SandboxEnvironmentSnapshot `json:"sandboxEnvironmentSnapshots,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse: Response
// message for SandboxEnvironmentService.ListSandboxEnvironmentTemplates.
type GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse struct {
	// NextPageToken: A token, which can be sent as
	// ListSandboxEnvironmentTemplatesRequest.page_token to retrieve the next page.
	// Absence of this field indicates there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// SandboxEnvironmentTemplates: The SandboxEnvironmentTemplates matching the
	// request.
	SandboxEnvironmentTemplates []*GoogleCloudAiplatformV1SandboxEnvironmentTemplate `json:"sandboxEnvironmentTemplates,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse: Response message for
// SandboxEnvironmentService.ListSandboxEnvironments.
type GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse struct {
	// NextPageToken: A token, which can be sent as
	// ListSandboxEnvironmentsRequest.page_token to retrieve the next page. Absence
	// of this field indicates there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// SandboxEnvironments: The SandboxEnvironments matching the request.
	SandboxEnvironments []*GoogleCloudAiplatformV1SandboxEnvironment `json:"sandboxEnvironments,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListSavedQueriesResponse: Response message for
// DatasetService.ListSavedQueries.
type GoogleCloudAiplatformV1ListSavedQueriesResponse struct {
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// SavedQueries: A list of SavedQueries that match the specified filter in the
	// request.
	SavedQueries []*GoogleCloudAiplatformV1SavedQuery `json:"savedQueries,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListSavedQueriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSavedQueriesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListSchedulesResponse: Response message for
// ScheduleService.ListSchedules
type GoogleCloudAiplatformV1ListSchedulesResponse struct {
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListSchedulesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Schedules: List of Schedules in the requested page.
	Schedules []*GoogleCloudAiplatformV1Schedule `json:"schedules,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListSchedulesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSchedulesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListSessionsResponse: Response message for
// SessionService.ListSessions.
type GoogleCloudAiplatformV1ListSessionsResponse struct {
	// NextPageToken: A token, which can be sent as ListSessionsRequest.page_token
	// to retrieve the next page. Absence of this field indicates there are no
	// subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Sessions: A list of sessions matching the request.
	Sessions []*GoogleCloudAiplatformV1Session `json:"sessions,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListSessionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSessionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListSpecialistPoolsResponse: Response message for
// SpecialistPoolService.ListSpecialistPools.
type GoogleCloudAiplatformV1ListSpecialistPoolsResponse struct {
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// SpecialistPools: A list of SpecialistPools that matches the specified filter
	// in the request.
	SpecialistPools []*GoogleCloudAiplatformV1SpecialistPool `json:"specialistPools,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListSpecialistPoolsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSpecialistPoolsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListStudiesResponse: Response message for
// VizierService.ListStudies.
type GoogleCloudAiplatformV1ListStudiesResponse struct {
	// NextPageToken: Passes this token as the `page_token` field of the request
	// for a subsequent call. If this field is omitted, there are no subsequent
	// pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Studies: The studies associated with the project.
	Studies []*GoogleCloudAiplatformV1Study `json:"studies,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListStudiesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListStudiesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListTensorboardExperimentsResponse: Response message
// for TensorboardService.ListTensorboardExperiments.
type GoogleCloudAiplatformV1ListTensorboardExperimentsResponse struct {
	// NextPageToken: A token, which can be sent as
	// ListTensorboardExperimentsRequest.page_token to retrieve the next page. If
	// this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// TensorboardExperiments: The TensorboardExperiments mathching the request.
	TensorboardExperiments []*GoogleCloudAiplatformV1TensorboardExperiment `json:"tensorboardExperiments,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListTensorboardExperimentsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardExperimentsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListTensorboardRunsResponse: Response message for
// TensorboardService.ListTensorboardRuns.
type GoogleCloudAiplatformV1ListTensorboardRunsResponse struct {
	// NextPageToken: A token, which can be sent as
	// ListTensorboardRunsRequest.page_token to retrieve the next page. If this
	// field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// TensorboardRuns: The TensorboardRuns mathching the request.
	TensorboardRuns []*GoogleCloudAiplatformV1TensorboardRun `json:"tensorboardRuns,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListTensorboardRunsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardRunsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse: Response message
// for TensorboardService.ListTensorboardTimeSeries.
type GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse struct {
	// NextPageToken: A token, which can be sent as
	// ListTensorboardTimeSeriesRequest.page_token to retrieve the next page. If
	// this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// TensorboardTimeSeries: The TensorboardTimeSeries mathching the request.
	TensorboardTimeSeries []*GoogleCloudAiplatformV1TensorboardTimeSeries `json:"tensorboardTimeSeries,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListTensorboardsResponse: Response message for
// TensorboardService.ListTensorboards.
type GoogleCloudAiplatformV1ListTensorboardsResponse struct {
	// NextPageToken: A token, which can be sent as
	// ListTensorboardsRequest.page_token to retrieve the next page. If this field
	// is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Tensorboards: The Tensorboards mathching the request.
	Tensorboards []*GoogleCloudAiplatformV1Tensorboard `json:"tensorboards,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListTensorboardsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListTrainingPipelinesResponse: Response message for
// PipelineService.ListTrainingPipelines
type GoogleCloudAiplatformV1ListTrainingPipelinesResponse struct {
	// NextPageToken: A token to retrieve the next page of results. Pass to
	// ListTrainingPipelinesRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// TrainingPipelines: List of TrainingPipelines in the requested page.
	TrainingPipelines []*GoogleCloudAiplatformV1TrainingPipeline `json:"trainingPipelines,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListTrainingPipelinesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTrainingPipelinesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListTrialsResponse: Response message for
// VizierService.ListTrials.
type GoogleCloudAiplatformV1ListTrialsResponse struct {
	// NextPageToken: Pass this token as the `page_token` field of the request for
	// a subsequent call. If this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Trials: The Trials associated with the Study.
	Trials []*GoogleCloudAiplatformV1Trial `json:"trials,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListTrialsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTrialsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ListTuningJobsResponse: Response message for
// GenAiTuningService.ListTuningJobs
type GoogleCloudAiplatformV1ListTuningJobsResponse struct {
	// NextPageToken: A token to retrieve the next page of results. Pass this token
	// in a subsequent [GenAiTuningService.ListTuningJobs] call to retrieve the
	// next page of results.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// TuningJobs: The tuning jobs that match the request.
	TuningJobs []*GoogleCloudAiplatformV1TuningJob `json:"tuningJobs,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ListTuningJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTuningJobsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1LogprobsResult: The log probabilities of the tokens
// generated by the model. This is useful for understanding the model's
// confidence in its predictions and for debugging. For example, you can use
// log probabilities to identify when the model is making a less confident
// prediction or to explore alternative responses that the model considered. A
// low log probability can also indicate that the model is "hallucinating" or
// generating factually incorrect information.
type GoogleCloudAiplatformV1LogprobsResult struct {
	// ChosenCandidates: A list of the chosen candidate tokens at each decoding
	// step. The length of this list is equal to the total number of decoding
	// steps. Note that the chosen candidate might not be in `top_candidates`.
	ChosenCandidates []*GoogleCloudAiplatformV1LogprobsResultCandidate `json:"chosenCandidates,omitempty"`
	// TopCandidates: A list of the top candidate tokens at each decoding step. The
	// length of this list is equal to the total number of decoding steps.
	TopCandidates []*GoogleCloudAiplatformV1LogprobsResultTopCandidates `json:"topCandidates,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ChosenCandidates") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ChosenCandidates") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LogprobsResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LogprobsResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1LogprobsResultCandidate: A single token and its
// associated log probability.
type GoogleCloudAiplatformV1LogprobsResultCandidate struct {
	// LogProbability: The log probability of this token. A higher value indicates
	// that the model was more confident in this token. The log probability can be
	// used to assess the relative likelihood of different tokens and to identify
	// when the model is uncertain.
	LogProbability float64 `json:"logProbability,omitempty"`
	// Token: The token's string representation.
	Token string `json:"token,omitempty"`
	// TokenId: The token's numerical ID. While the `token` field provides the
	// string representation of the token, the `token_id` is the numerical
	// representation that the model uses internally. This can be useful for
	// developers who want to build custom logic based on the model's vocabulary.
	TokenId int64 `json:"tokenId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LogProbability") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LogProbability") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LogprobsResultCandidate) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LogprobsResultCandidate
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1LogprobsResultCandidate) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1LogprobsResultCandidate
	var s1 struct {
		LogProbability gensupport.JSONFloat64 `json:"logProbability"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.LogProbability = float64(s1.LogProbability)
	return nil
}

// GoogleCloudAiplatformV1LogprobsResultTopCandidates: A list of the top
// candidate tokens and their log probabilities at each decoding step. This can
// be used to see what other tokens the model considered.
type GoogleCloudAiplatformV1LogprobsResultTopCandidates struct {
	// Candidates: The list of candidate tokens, sorted by log probability in
	// descending order.
	Candidates []*GoogleCloudAiplatformV1LogprobsResultCandidate `json:"candidates,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Candidates") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Candidates") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LogprobsResultTopCandidates) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LogprobsResultTopCandidates
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1LookupStudyRequest: Request message for
// VizierService.LookupStudy.
type GoogleCloudAiplatformV1LookupStudyRequest struct {
	// DisplayName: Required. The user-defined display name of the Study
	DisplayName string `json:"displayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LookupStudyRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LookupStudyRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1LustreMount: Represents a mount configuration for
// Lustre file system.
type GoogleCloudAiplatformV1LustreMount struct {
	// Filesystem: Required. The name of the Lustre filesystem.
	Filesystem string `json:"filesystem,omitempty"`
	// InstanceIp: Required. IP address of the Lustre instance.
	InstanceIp string `json:"instanceIp,omitempty"`
	// MountPoint: Required. Destination mount path. The Lustre file system will be
	// mounted for the user under /mnt/lustre/
	MountPoint string `json:"mountPoint,omitempty"`
	// VolumeHandle: Required. The unique identifier of the Lustre volume.
	VolumeHandle string `json:"volumeHandle,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filesystem") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filesystem") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1LustreMount) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LustreMount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MachineSpec: Specification of a single machine.
type GoogleCloudAiplatformV1MachineSpec struct {
	// AcceleratorCount: The number of accelerators to attach to the machine. For
	// accelerator optimized machine types
	// (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One
	// may set the accelerator_count from 1 to N for machine with N GPUs. If
	// accelerator_count is less than or equal to N / 2, Vertex will co-schedule
	// the replicas of the model into the same VM to save cost. For example, if the
	// machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set
	// accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex
	// will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to
	// save cost. When co-scheduling, CPU, memory and storage on the VM will be
	// distributed to replicas on the VM. For example, one can expect a
	// co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of
	// the CPU, memory and storage of the VM. Note that the feature is not
	// compatible with multihost_gpu_node_count. When multihost_gpu_node_count is
	// set, the co-scheduling will not be enabled.
	AcceleratorCount int64 `json:"acceleratorCount,omitempty"`
	// AcceleratorType: Immutable. The type of accelerator(s) that may be attached
	// to the machine as per accelerator_count.
	//
	// Possible values:
	//   "ACCELERATOR_TYPE_UNSPECIFIED" - Unspecified accelerator type, which means
	// no accelerator.
	//   "NVIDIA_TESLA_K80" - Deprecated: Nvidia Tesla K80 GPU has reached end of
	// support, see https://cloud.google.com/compute/docs/eol/k80-eol.
	//   "NVIDIA_TESLA_P100" - Nvidia Tesla P100 GPU.
	//   "NVIDIA_TESLA_V100" - Nvidia Tesla V100 GPU.
	//   "NVIDIA_TESLA_P4" - Nvidia Tesla P4 GPU.
	//   "NVIDIA_TESLA_T4" - Nvidia Tesla T4 GPU.
	//   "NVIDIA_TESLA_A100" - Nvidia Tesla A100 GPU.
	//   "NVIDIA_A100_80GB" - Nvidia A100 80GB GPU.
	//   "NVIDIA_L4" - Nvidia L4 GPU.
	//   "NVIDIA_H100_80GB" - Nvidia H100 80Gb GPU.
	//   "NVIDIA_H100_MEGA_80GB" - Nvidia H100 Mega 80Gb GPU.
	//   "NVIDIA_H200_141GB" - Nvidia H200 141Gb GPU.
	//   "NVIDIA_B200" - Nvidia B200 GPU.
	//   "NVIDIA_GB200" - Nvidia GB200 GPU.
	//   "NVIDIA_RTX_PRO_6000" - Nvidia RTX Pro 6000 GPU.
	//   "TPU_V2" - TPU v2.
	//   "TPU_V3" - TPU v3.
	//   "TPU_V4_POD" - TPU v4.
	//   "TPU_V5_LITEPOD" - TPU v5.
	AcceleratorType string `json:"acceleratorType,omitempty"`
	// GpuPartitionSize: Optional. Immutable. The Nvidia GPU partition size. When
	// specified, the requested accelerators will be partitioned into smaller GPU
	// partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs,
	// and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56
	// partitioned MIG instances. The partition size must be a value supported by
	// the requested accelerator. Refer to Nvidia GPU Partitioning
	// (https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions)
	// for the available partition sizes. If set, the accelerator_count should be
	// set to 1.
	GpuPartitionSize string `json:"gpuPartitionSize,omitempty"`
	// MachineType: 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 this field is optional, and the default value is
	// `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this
	// field is required.
	MachineType string `json:"machineType,omitempty"`
	// ReservationAffinity: Optional. Immutable. Configuration controlling how this
	// resource pool consumes reservation.
	ReservationAffinity *GoogleCloudAiplatformV1ReservationAffinity `json:"reservationAffinity,omitempty"`
	// TpuTopology: Immutable. The topology of the TPUs. Corresponds to the TPU
	// topologies available from GKE. (Example: tpu_topology: "2x2x1").
	TpuTopology string `json:"tpuTopology,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AcceleratorCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MachineSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MachineSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ManualBatchTuningParameters: Manual batch tuning
// parameters.
type GoogleCloudAiplatformV1ManualBatchTuningParameters struct {
	// BatchSize: 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 int64 `json:"batchSize,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BatchSize") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BatchSize") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ManualBatchTuningParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ManualBatchTuningParameters
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Measurement: A message representing a Measurement of
// a Trial. A Measurement contains the Metrics got by executing a Trial using
// suggested hyperparameter values.
type GoogleCloudAiplatformV1Measurement struct {
	// ElapsedDuration: Output only. Time that the Trial has been running at the
	// point of this Measurement.
	ElapsedDuration string `json:"elapsedDuration,omitempty"`
	// Metrics: Output only. A list of metrics got by evaluating the objective
	// functions using suggested Parameter values.
	Metrics []*GoogleCloudAiplatformV1MeasurementMetric `json:"metrics,omitempty"`
	// StepCount: Output only. The number of steps the machine learning model has
	// been trained for. Must be non-negative.
	StepCount int64 `json:"stepCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ElapsedDuration") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ElapsedDuration") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Measurement) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Measurement
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MeasurementMetric: A message representing a metric in
// the measurement.
type GoogleCloudAiplatformV1MeasurementMetric struct {
	// MetricId: Output only. The ID of the Metric. The Metric should be defined in
	// StudySpec's Metrics.
	MetricId string `json:"metricId,omitempty"`
	// Value: Output only. The value for this metric.
	Value float64 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MetricId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetricId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MeasurementMetric) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MeasurementMetric
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1MeasurementMetric) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1MeasurementMetric
	var s1 struct {
		Value gensupport.JSONFloat64 `json:"value"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Value = float64(s1.Value)
	return nil
}

// GoogleCloudAiplatformV1Memory: A memory.
type GoogleCloudAiplatformV1Memory struct {
	// CreateTime: Output only. Represents the timestamp when this Memory was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Optional. Represents the description of the Memory.
	Description string `json:"description,omitempty"`
	// DisableMemoryRevisions: Optional. Input only. Indicates whether no revision
	// will be created for this request.
	DisableMemoryRevisions bool `json:"disableMemoryRevisions,omitempty"`
	// DisplayName: Optional. Represents the display name of the Memory.
	DisplayName string `json:"displayName,omitempty"`
	// ExpireTime: Optional. Represents the timestamp of when this resource is
	// considered expired. This is *always* provided on output when `expiration` is
	// set on input, regardless of whether `expire_time` or `ttl` was provided.
	ExpireTime string `json:"expireTime,omitempty"`
	// Fact: Optional. Represents semantic knowledge extracted from the source
	// content.
	Fact string `json:"fact,omitempty"`
	// Metadata: Optional. Represents user-provided metadata for the Memory. This
	// information was provided when creating, updating, or generating the Memory.
	// It was not generated by Memory Bank.
	Metadata map[string]GoogleCloudAiplatformV1MemoryMetadataValue `json:"metadata,omitempty"`
	// Name: Identifier. Represents the resource name of the Memory. Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/
	// memories/{memory}`
	Name string `json:"name,omitempty"`
	// RevisionExpireTime: Optional. Input only. Represents the timestamp of when
	// the revision is considered expired. If not set, the memory revision will be
	// kept until manually deleted.
	RevisionExpireTime string `json:"revisionExpireTime,omitempty"`
	// RevisionLabels: Optional. Input only. Represents the labels to apply to the
	// Memory Revision created as a result of this request.
	RevisionLabels map[string]string `json:"revisionLabels,omitempty"`
	// RevisionTtl: Optional. Input only. Represents the TTL for the revision. The
	// expiration time is computed: now + TTL.
	RevisionTtl string `json:"revisionTtl,omitempty"`
	// Scope: Required. Immutable. Represents the scope of the Memory. Memories are
	// isolated within their scope. The scope is defined when creating or
	// generating memories. Scope values cannot contain the wildcard character '*'.
	Scope map[string]string `json:"scope,omitempty"`
	// Topics: Optional. Represents the Topics of the Memory.
	Topics []*GoogleCloudAiplatformV1MemoryTopicId `json:"topics,omitempty"`
	// Ttl: Optional. Input only. Represents the TTL for this resource. The
	// expiration time is computed: now + TTL.
	Ttl string `json:"ttl,omitempty"`
	// UpdateTime: Output only. Represents the timestamp when this Memory was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Memory) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Memory
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfig: Represents
// configuration for organizing natural language memories for a particular
// scope.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfig struct {
	// ConsolidationConfig: Optional. Represents configuration for customizing how
	// memories are consolidated together.
	ConsolidationConfig *GoogleCloudAiplatformV1MemoryBankCustomizationConfigConsolidationConfig `json:"consolidationConfig,omitempty"`
	// DisableNaturalLanguageMemories: Optional. Indicates whether natural language
	// memory generation should be disabled for all requests. By default, natural
	// language memory generation is enabled. Set this to `true` when you only want
	// to generate structured memories.
	DisableNaturalLanguageMemories bool `json:"disableNaturalLanguageMemories,omitempty"`
	// EnableThirdPersonMemories: Optional. Indicates whether the memories will be
	// generated in the third person (i.e. "The user generates memories with Memory
	// Bank."). By default, the memories will be generated in the first person
	// (i.e. "I generate memories with Memory Bank.")
	EnableThirdPersonMemories bool `json:"enableThirdPersonMemories,omitempty"`
	// GenerateMemoriesExamples: Optional. Provides examples of how to generate
	// memories for a particular scope.
	GenerateMemoriesExamples []*GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExample `json:"generateMemoriesExamples,omitempty"`
	// MemoryTopics: Optional. Represents topics of information that should be
	// extracted from conversations and stored as memories. If not set, then Memory
	// Bank's default topics will be used.
	MemoryTopics []*GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopic `json:"memoryTopics,omitempty"`
	// ScopeKeys: Optional. Represents the scope keys (i.e. 'user_id') for which to
	// use this config. A request's scope must include all of the provided keys for
	// the config to be used (order does not matter). If empty, then the config
	// will be used for all requests that do not have a more specific config. Only
	// one default config is allowed per Memory Bank.
	ScopeKeys []string `json:"scopeKeys,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConsolidationConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConsolidationConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigConsolidationConfig:
// Represents configuration for customizing how memories are consolidated.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigConsolidationConfig struct {
	// RevisionsPerCandidateCount: Optional. Represents the maximum number of
	// revisions to consider for each candidate memory. If not set, then the
	// default value (1) will be used, which means that only the latest revision
	// will be considered.
	RevisionsPerCandidateCount int64 `json:"revisionsPerCandidateCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RevisionsPerCandidateCount")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RevisionsPerCandidateCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigConsolidationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigConsolidationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExample:
// An example of how to generate memories for a particular scope.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExample struct {
	// ConversationSource: A conversation source for the example.
	ConversationSource *GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource `json:"conversationSource,omitempty"`
	// GeneratedMemories: Optional. Represents the memories that are expected to be
	// generated from the input conversation. An empty list indicates that no
	// memories are expected to be generated for the input conversation.
	GeneratedMemories []*GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory `json:"generatedMemories,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConversationSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConversationSource") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExample) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExample
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleCo
// nversationSource: A conversation source for the example. This is similar to
// `DirectContentsSource`.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource struct {
	// Events: Optional. Represents the input conversation events for the example.
	Events []*GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent `json:"events,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Events") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Events") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleCo
// nversationSourceEvent: A single conversation event.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent struct {
	// Content: Required. Represents the content of the event.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleConversationSourceEvent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleGe
// neratedMemory: A memory generated by the operation.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory struct {
	// Fact: Required. Represents the fact to generate a memory from.
	Fact string `json:"fact,omitempty"`
	// Topics: Optional. Represents the list of topics that the memory should be
	// associated with. For example, use `custom_memory_topic_label = "jargon" if
	// the extracted memory is an example of memory extraction for the custom topic
	// `jargon`.
	Topics []*GoogleCloudAiplatformV1MemoryTopicId `json:"topics,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Fact") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Fact") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigGenerateMemoriesExampleGeneratedMemory
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopic: A topic of
// information that should be extracted from conversations and stored as
// memories.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopic struct {
	// CustomMemoryTopic: A custom memory topic defined by the developer.
	CustomMemoryTopic *GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic `json:"customMemoryTopic,omitempty"`
	// ManagedMemoryTopic: A managed memory topic defined by Memory Bank.
	ManagedMemoryTopic *GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic `json:"managedMemoryTopic,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomMemoryTopic") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomMemoryTopic") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopic) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopic
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicCustomMemoryTo
// pic: A custom memory topic defined by the developer.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic struct {
	// Description: Required. Represents the description of the memory topic. This
	// should explain what information should be extracted for this topic.
	Description string `json:"description,omitempty"`
	// Label: Required. Represents the label of the topic.
	Label string `json:"label,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicCustomMemoryTopic
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicManagedMemoryT
// opic: A managed memory topic defined by the system.
type GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic struct {
	// ManagedTopicEnum: Required. Represents the managed topic.
	//
	// Possible values:
	//   "MANAGED_TOPIC_ENUM_UNSPECIFIED" - Represents an unspecified topic. This
	// value should not be used.
	//   "USER_PERSONAL_INFO" - Represents significant personal information about
	// the User like first names, relationships, hobbies, important dates.
	//   "USER_PREFERENCES" - Represents stated or implied likes, dislikes,
	// preferred styles, or patterns.
	//   "KEY_CONVERSATION_DETAILS" - Represents important milestones or
	// conclusions within the dialogue.
	//   "EXPLICIT_INSTRUCTIONS" - Represents information that the user explicitly
	// requested to remember or forget.
	ManagedTopicEnum string `json:"managedTopicEnum,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ManagedTopicEnum") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ManagedTopicEnum") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryBankCustomizationConfigMemoryTopicManagedMemoryTopic
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryConjunctionFilter: A conjunction of filters
// that will be combined using AND logic.
type GoogleCloudAiplatformV1MemoryConjunctionFilter struct {
	// Filters: Represents filters that will be combined using AND logic.
	Filters []*GoogleCloudAiplatformV1MemoryFilter `json:"filters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filters") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filters") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryConjunctionFilter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryConjunctionFilter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryFilter: Filter to apply when retrieving
// memories.
type GoogleCloudAiplatformV1MemoryFilter struct {
	// Key: Represents the key of the filter. For example, "author" would apply to
	// `metadata` entries with the key "author".
	Key string `json:"key,omitempty"`
	// Negate: Indicates whether the filter will be negated.
	Negate bool `json:"negate,omitempty"`
	// Op: Represents the operator to apply to the filter. If not set, then EQUAL
	// will be used.
	//
	// Possible values:
	//   "OPERATOR_UNSPECIFIED" - Represents an unspecified operator. Defaults to
	// EQUAL.
	//   "EQUAL" - Equal to.
	//   "GREATER_THAN" - Greater than.
	//   "LESS_THAN" - Less than.
	Op string `json:"op,omitempty"`
	// Value: Represents the value to compare to.
	Value *GoogleCloudAiplatformV1MemoryMetadataValue `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Key") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryFilter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryFilter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryGenerationTriggerConfig: Represents
// configuration for triggering generation.
type GoogleCloudAiplatformV1MemoryGenerationTriggerConfig struct {
	// GenerationRule: Optional. Represents the active rule that determines when to
	// flush the buffer. If not set, then the stream will be force flushed
	// immediately.
	GenerationRule *GoogleCloudAiplatformV1MemoryGenerationTriggerConfigGenerationTriggerRule `json:"generationRule,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenerationRule") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenerationRule") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryGenerationTriggerConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryGenerationTriggerConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryGenerationTriggerConfigGenerationTriggerRule:
// Represents the active rule that determines when to flush the buffer.
type GoogleCloudAiplatformV1MemoryGenerationTriggerConfigGenerationTriggerRule struct {
	// EventCount: Optional. Specifies to trigger generation when the event count
	// reaches this limit.
	EventCount int64 `json:"eventCount,omitempty"`
	// FixedInterval: Optional. Specifies to trigger generation at a fixed
	// interval. The duration must have a minute-level granularity.
	FixedInterval string `json:"fixedInterval,omitempty"`
	// IdleDuration: Optional. Specifies to trigger generation if the stream is
	// inactive for the specified duration after the most recent event. The
	// duration must have a minute-level granularity.
	IdleDuration string `json:"idleDuration,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EventCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EventCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryGenerationTriggerConfigGenerationTriggerRule) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryGenerationTriggerConfigGenerationTriggerRule
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryMetadataValue: Memory metadata.
type GoogleCloudAiplatformV1MemoryMetadataValue struct {
	// BoolValue: Represents a boolean value.
	BoolValue bool `json:"boolValue,omitempty"`
	// DoubleValue: Represents a double value.
	DoubleValue float64 `json:"doubleValue,omitempty"`
	// StringValue: Represents a string value.
	StringValue string `json:"stringValue,omitempty"`
	// TimestampValue: Represents a timestamp value. When filtering on timestamp
	// values, only the seconds field will be compared.
	TimestampValue string `json:"timestampValue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BoolValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoolValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryMetadataValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryMetadataValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1MemoryMetadataValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1MemoryMetadataValue
	var s1 struct {
		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DoubleValue = float64(s1.DoubleValue)
	return nil
}

// GoogleCloudAiplatformV1MemoryRevision: A revision of a Memory.
type GoogleCloudAiplatformV1MemoryRevision struct {
	// CreateTime: Output only. Represents the timestamp when this Memory Revision
	// was created.
	CreateTime string `json:"createTime,omitempty"`
	// ExpireTime: Output only. Represents the timestamp of when this resource is
	// considered expired.
	ExpireTime string `json:"expireTime,omitempty"`
	// ExtractedMemories: Output only. Represents the extracted memories from the
	// source content before consolidation when the memory was updated via
	// GenerateMemories. This information was used to modify an existing Memory via
	// Consolidation.
	ExtractedMemories []*GoogleCloudAiplatformV1IntermediateExtractedMemory `json:"extractedMemories,omitempty"`
	// Fact: Output only. Represents the fact of the Memory Revision. This
	// corresponds to the `fact` field of the parent Memory at the time of revision
	// creation.
	Fact string `json:"fact,omitempty"`
	// Labels: Output only. Represents the labels of the Memory Revision. These
	// labels are applied to the MemoryRevision when it is created based on
	// `GenerateMemoriesRequest.revision_labels`.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. Represents the resource name of the Memory Revision.
	// Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/
	// memories/{memory}/revisions/{memory_revision}`
	Name string `json:"name,omitempty"`
	// StructuredData: Output only. Represents the structured value of the memory
	// at the time of revision creation.
	StructuredData googleapi.RawMessage `json:"structuredData,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryRevision) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryRevision
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MemoryTopicId: A memory topic identifier. This will
// be used to label a Memory and to restrict which topics are eligible for
// generation or retrieval.
type GoogleCloudAiplatformV1MemoryTopicId struct {
	// CustomMemoryTopicLabel: Optional. Represents the custom memory topic label.
	CustomMemoryTopicLabel string `json:"customMemoryTopicLabel,omitempty"`
	// ManagedMemoryTopic: Optional. Represents the managed memory topic.
	//
	// Possible values:
	//   "MANAGED_TOPIC_ENUM_UNSPECIFIED" - Represents an unspecified topic. This
	// value should not be used.
	//   "USER_PERSONAL_INFO" - Represents significant personal information about
	// the User like first names, relationships, hobbies, important dates.
	//   "USER_PREFERENCES" - Represents stated or implied likes, dislikes,
	// preferred styles, or patterns.
	//   "KEY_CONVERSATION_DETAILS" - Represents important milestones or
	// conclusions within the dialogue.
	//   "EXPLICIT_INSTRUCTIONS" - Represents information that the user explicitly
	// requested to remember or forget.
	ManagedMemoryTopic string `json:"managedMemoryTopic,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomMemoryTopicLabel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomMemoryTopicLabel") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MemoryTopicId) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MemoryTopicId
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MergeVersionAliasesRequest: Request message for
// ModelService.MergeVersionAliases.
type GoogleCloudAiplatformV1MergeVersionAliasesRequest struct {
	// VersionAliases: Required. The set of version aliases to merge. The alias
	// should be at most 128 characters, and match `a-z{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 `json:"versionAliases,omitempty"`
	// ForceSendFields is a list of field names (e.g. "VersionAliases") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "VersionAliases") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MergeVersionAliasesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MergeVersionAliasesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Metadata: Metadata for a chunk.
type GoogleCloudAiplatformV1Metadata struct {
	// Attributes: Optional. Attributes attached to the data. The keys have
	// semantic conventions and the consumers of the attributes should know how to
	// deserialize the value bytes based on the keys.
	Attributes map[string]string `json:"attributes,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Attributes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Attributes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Metadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Metadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetadataSchema: Instance of a general MetadataSchema.
type GoogleCloudAiplatformV1MetadataSchema struct {
	// CreateTime: Output only. Timestamp when this MetadataSchema was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of the Metadata Schema
	Description string `json:"description,omitempty"`
	// Name: Output only. The resource name of the MetadataSchema.
	Name string `json:"name,omitempty"`
	// Schema: 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 `json:"schema,omitempty"`
	// SchemaType: The type of the MetadataSchema. This is a property that
	// identifies which metadata types will use the MetadataSchema.
	//
	// Possible values:
	//   "METADATA_SCHEMA_TYPE_UNSPECIFIED" - Unspecified type for the
	// MetadataSchema.
	//   "ARTIFACT_TYPE" - A type indicating that the MetadataSchema will be used
	// by Artifacts.
	//   "EXECUTION_TYPE" - A typee indicating that the MetadataSchema will be used
	// by Executions.
	//   "CONTEXT_TYPE" - A state indicating that the MetadataSchema will be used
	// by Contexts.
	SchemaType string `json:"schemaType,omitempty"`
	// SchemaVersion: The version of the MetadataSchema. The version's format must
	// match the following regular expression: `^[0-9]+.+.+$`, which would allow to
	// order/compare different versions. Example: 1.0.0, 1.0.1, etc.
	SchemaVersion string `json:"schemaVersion,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetadataSchema) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetadataSchema
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetadataStore: Instance of a metadata store. Contains
// a set of metadata that can be queried.
type GoogleCloudAiplatformV1MetadataStore struct {
	// CreateTime: Output only. Timestamp when this MetadataStore was created.
	CreateTime string `json:"createTime,omitempty"`
	// DataplexConfig: Optional. Dataplex integration settings.
	DataplexConfig *GoogleCloudAiplatformV1MetadataStoreDataplexConfig `json:"dataplexConfig,omitempty"`
	// Description: Description of the MetadataStore.
	Description string `json:"description,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Name: Output only. The resource name of the MetadataStore instance.
	Name string `json:"name,omitempty"`
	// State: Output only. State information of the MetadataStore.
	State *GoogleCloudAiplatformV1MetadataStoreMetadataStoreState `json:"state,omitempty"`
	// UpdateTime: Output only. Timestamp when this MetadataStore was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetadataStore) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetadataStore
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetadataStoreDataplexConfig: Represents Dataplex
// integration settings.
type GoogleCloudAiplatformV1MetadataStoreDataplexConfig struct {
	// EnabledPipelinesLineage: Optional. Whether or not Data Lineage
	// synchronization is enabled for Vertex Pipelines.
	EnabledPipelinesLineage bool `json:"enabledPipelinesLineage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnabledPipelinesLineage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnabledPipelinesLineage") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetadataStoreDataplexConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetadataStoreDataplexConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetadataStoreMetadataStoreState: Represents state
// information for a MetadataStore.
type GoogleCloudAiplatformV1MetadataStoreMetadataStoreState struct {
	// DiskUtilizationBytes: The disk utilization of the MetadataStore in bytes.
	DiskUtilizationBytes int64 `json:"diskUtilizationBytes,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "DiskUtilizationBytes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DiskUtilizationBytes") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetadataStoreMetadataStoreState) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetadataStoreMetadataStoreState
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Metric: The metric used for running evaluations.
type GoogleCloudAiplatformV1Metric struct {
	// AggregationMetrics: Optional. The aggregation metrics to use.
	//
	// Possible values:
	//   "AGGREGATION_METRIC_UNSPECIFIED" - Unspecified aggregation metric.
	//   "AVERAGE" - Average aggregation metric. Not supported for Pairwise metric.
	//   "MODE" - Mode aggregation metric.
	//   "STANDARD_DEVIATION" - Standard deviation aggregation metric. Not
	// supported for pairwise metric.
	//   "VARIANCE" - Variance aggregation metric. Not supported for pairwise
	// metric.
	//   "MINIMUM" - Minimum aggregation metric. Not supported for pairwise metric.
	//   "MAXIMUM" - Maximum aggregation metric. Not supported for pairwise metric.
	//   "MEDIAN" - Median aggregation metric. Not supported for pairwise metric.
	//   "PERCENTILE_P90" - 90th percentile aggregation metric. Not supported for
	// pairwise metric.
	//   "PERCENTILE_P95" - 95th percentile aggregation metric. Not supported for
	// pairwise metric.
	//   "PERCENTILE_P99" - 99th percentile aggregation metric. Not supported for
	// pairwise metric.
	AggregationMetrics []string `json:"aggregationMetrics,omitempty"`
	// BleuSpec: Spec for bleu metric.
	BleuSpec *GoogleCloudAiplatformV1BleuSpec `json:"bleuSpec,omitempty"`
	// ComputationBasedMetricSpec: Spec for a computation based metric.
	ComputationBasedMetricSpec *GoogleCloudAiplatformV1ComputationBasedMetricSpec `json:"computationBasedMetricSpec,omitempty"`
	// CustomCodeExecutionSpec: Spec for Custom Code Execution metric.
	CustomCodeExecutionSpec *GoogleCloudAiplatformV1CustomCodeExecutionSpec `json:"customCodeExecutionSpec,omitempty"`
	// ExactMatchSpec: Spec for exact match metric.
	ExactMatchSpec *GoogleCloudAiplatformV1ExactMatchSpec `json:"exactMatchSpec,omitempty"`
	// LlmBasedMetricSpec: Spec for an LLM based metric.
	LlmBasedMetricSpec *GoogleCloudAiplatformV1LLMBasedMetricSpec `json:"llmBasedMetricSpec,omitempty"`
	// Metadata: Optional. Metadata about the metric, used for visualization and
	// organization.
	Metadata *GoogleCloudAiplatformV1MetricMetadata `json:"metadata,omitempty"`
	// PairwiseMetricSpec: Spec for pairwise metric.
	PairwiseMetricSpec *GoogleCloudAiplatformV1PairwiseMetricSpec `json:"pairwiseMetricSpec,omitempty"`
	// PointwiseMetricSpec: Spec for pointwise metric.
	PointwiseMetricSpec *GoogleCloudAiplatformV1PointwiseMetricSpec `json:"pointwiseMetricSpec,omitempty"`
	// PredefinedMetricSpec: The spec for a pre-defined metric.
	PredefinedMetricSpec *GoogleCloudAiplatformV1PredefinedMetricSpec `json:"predefinedMetricSpec,omitempty"`
	// RougeSpec: Spec for rouge metric.
	RougeSpec *GoogleCloudAiplatformV1RougeSpec `json:"rougeSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AggregationMetrics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AggregationMetrics") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Metric) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Metric
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetricMetadata: Metadata about the metric, used for
// visualization and organization.
type GoogleCloudAiplatformV1MetricMetadata struct {
	// OtherMetadata: Optional. Flexible metadata for user-defined attributes.
	OtherMetadata googleapi.RawMessage `json:"otherMetadata,omitempty"`
	// ScoreRange: Optional. The range of possible scores for this metric, used for
	// plotting.
	ScoreRange *GoogleCloudAiplatformV1MetricMetadataScoreRange `json:"scoreRange,omitempty"`
	// Title: Optional. The user-friendly name for the metric. If not set for a
	// registered metric, it will default to the metric's display name.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "OtherMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OtherMetadata") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetricMetadataScoreRange: The range of possible
// scores for this metric, used for plotting.
type GoogleCloudAiplatformV1MetricMetadataScoreRange struct {
	// Description: Optional. The description of the score explaining the
	// directionality etc.
	Description string `json:"description,omitempty"`
	// Max: Required. The maximum value of the score range (inclusive).
	Max float64 `json:"max,omitempty"`
	// Min: Required. The minimum value of the score range (inclusive).
	Min float64 `json:"min,omitempty"`
	// Step: Optional. The distance between discrete steps in the range. If unset,
	// the range is assumed to be continuous.
	Step float64 `json:"step,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricMetadataScoreRange) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricMetadataScoreRange
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1MetricMetadataScoreRange) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1MetricMetadataScoreRange
	var s1 struct {
		Max  gensupport.JSONFloat64 `json:"max"`
		Min  gensupport.JSONFloat64 `json:"min"`
		Step gensupport.JSONFloat64 `json:"step"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Max = float64(s1.Max)
	s.Min = float64(s1.Min)
	s.Step = float64(s1.Step)
	return nil
}

// GoogleCloudAiplatformV1MetricResult: Result for a single metric on a single
// instance.
type GoogleCloudAiplatformV1MetricResult struct {
	// Error: Output only. The error status for the metric result.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Explanation: Output only. The explanation for the metric result.
	Explanation string `json:"explanation,omitempty"`
	// RubricVerdicts: Output only. For rubric-based metrics, the verdicts for each
	// rubric.
	RubricVerdicts []*GoogleCloudAiplatformV1RubricVerdict `json:"rubricVerdicts,omitempty"`
	// Score: Output only. The score for the metric. Please refer to each metric's
	// documentation for the meaning of the score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Error") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1MetricResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1MetricResult
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1MetricSource: The metric source used for evaluation.
type GoogleCloudAiplatformV1MetricSource struct {
	// Metric: Inline metric config.
	Metric *GoogleCloudAiplatformV1Metric `json:"metric,omitempty"`
	// MetricResourceName: Optional. Resource name for registered metric.
	MetricResourceName string `json:"metricResourceName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Metric") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Metric") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetricxInput: Input for MetricX metric.
type GoogleCloudAiplatformV1MetricxInput struct {
	// Instance: Required. Metricx instance.
	Instance *GoogleCloudAiplatformV1MetricxInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for Metricx metric.
	MetricSpec *GoogleCloudAiplatformV1MetricxSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricxInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricxInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetricxInstance: Spec for MetricX instance - The
// fields used for evaluation are dependent on the MetricX version.
type GoogleCloudAiplatformV1MetricxInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// Source: Optional. Source text in original language.
	Source string `json:"source,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricxInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricxInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MetricxResult: Spec for MetricX result - calculates
// the MetricX score for the given instance using the version specified in the
// spec.
type GoogleCloudAiplatformV1MetricxResult struct {
	// Score: Output only. MetricX score. Range depends on version.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricxResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricxResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1MetricxResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1MetricxResult
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1MetricxSpec: Spec for MetricX metric.
type GoogleCloudAiplatformV1MetricxSpec struct {
	// SourceLanguage: Optional. Source language in BCP-47 format.
	SourceLanguage string `json:"sourceLanguage,omitempty"`
	// TargetLanguage: Optional. Target language in BCP-47 format. Covers both
	// prediction and reference.
	TargetLanguage string `json:"targetLanguage,omitempty"`
	// Version: Required. Which version to use for evaluation.
	//
	// Possible values:
	//   "METRICX_VERSION_UNSPECIFIED" - MetricX version unspecified.
	//   "METRICX_24_REF" - MetricX 2024 (2.6) for translation + reference
	// (reference-based).
	//   "METRICX_24_SRC" - MetricX 2024 (2.6) for translation + source (QE).
	//   "METRICX_24_SRC_REF" - MetricX 2024 (2.6) for translation + source +
	// reference (source-reference-combined).
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SourceLanguage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SourceLanguage") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MetricxSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetricxSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigratableResource: Represents one resource that
// exists in automl.googleapis.com, datalabeling.googleapis.com or
// ml.googleapis.com.
type GoogleCloudAiplatformV1MigratableResource struct {
	// AutomlDataset: Output only. Represents one Dataset in automl.googleapis.com.
	AutomlDataset *GoogleCloudAiplatformV1MigratableResourceAutomlDataset `json:"automlDataset,omitempty"`
	// AutomlModel: Output only. Represents one Model in automl.googleapis.com.
	AutomlModel *GoogleCloudAiplatformV1MigratableResourceAutomlModel `json:"automlModel,omitempty"`
	// DataLabelingDataset: Output only. Deprecated: Data Labeling Dataset
	// migration is no longer supported. Represents one Dataset in
	// datalabeling.googleapis.com.
	DataLabelingDataset *GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset `json:"dataLabelingDataset,omitempty"`
	// LastMigrateTime: 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 string `json:"lastMigrateTime,omitempty"`
	// LastUpdateTime: Output only. Timestamp when this MigratableResource was last
	// updated.
	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
	// MlEngineModelVersion: Output only. Represents one Version in
	// ml.googleapis.com.
	MlEngineModelVersion *GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion `json:"mlEngineModelVersion,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutomlDataset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutomlDataset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigratableResource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigratableResourceAutomlDataset: Represents one
// Dataset in automl.googleapis.com.
type GoogleCloudAiplatformV1MigratableResourceAutomlDataset struct {
	// Dataset: Full resource name of automl Dataset. Format:
	// `projects/{project}/locations/{location}/datasets/{dataset}`.
	Dataset string `json:"dataset,omitempty"`
	// DatasetDisplayName: The Dataset's display name in automl.googleapis.com.
	DatasetDisplayName string `json:"datasetDisplayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dataset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigratableResourceAutomlDataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceAutomlDataset
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigratableResourceAutomlModel: Represents one Model
// in automl.googleapis.com.
type GoogleCloudAiplatformV1MigratableResourceAutomlModel struct {
	// Model: Full resource name of automl Model. Format:
	// `projects/{project}/locations/{location}/models/{model}`.
	Model string `json:"model,omitempty"`
	// ModelDisplayName: The Model's display name in automl.googleapis.com.
	ModelDisplayName string `json:"modelDisplayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Model") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigratableResourceAutomlModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceAutomlModel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset: Represents one
// Dataset in datalabeling.googleapis.com.
type GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset struct {
	// DataLabelingAnnotatedDatasets: The migratable AnnotatedDataset in
	// datalabeling.googleapis.com belongs to the data labeling Dataset.
	DataLabelingAnnotatedDatasets []*GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset `json:"dataLabelingAnnotatedDatasets,omitempty"`
	// Dataset: Full resource name of data labeling Dataset. Format:
	// `projects/{project}/datasets/{dataset}`.
	Dataset string `json:"dataset,omitempty"`
	// DatasetDisplayName: The Dataset's display name in
	// datalabeling.googleapis.com.
	DatasetDisplayName string `json:"datasetDisplayName,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "DataLabelingAnnotatedDatasets") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataLabelingAnnotatedDatasets")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnot
// atedDataset: Represents one AnnotatedDataset in datalabeling.googleapis.com.
type GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset struct {
	// AnnotatedDataset: Full resource name of data labeling AnnotatedDataset.
	// Format:
	// `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`
	// .
	AnnotatedDataset string `json:"annotatedDataset,omitempty"`
	// AnnotatedDatasetDisplayName: The AnnotatedDataset's display name in
	// datalabeling.googleapis.com.
	AnnotatedDatasetDisplayName string `json:"annotatedDatasetDisplayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotatedDataset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotatedDataset") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion: Represents
// one model Version in ml.googleapis.com.
type GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion struct {
	// Endpoint: 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 `json:"endpoint,omitempty"`
	// Version: Full resource name of ml engine model Version. Format:
	// `projects/{project}/models/{model}/versions/{version}`.
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Endpoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Endpoint") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigrateResourceRequest: Config of migrating one
// resource from automl.googleapis.com, datalabeling.googleapis.com and
// ml.googleapis.com to Vertex AI.
type GoogleCloudAiplatformV1MigrateResourceRequest struct {
	// MigrateAutomlDatasetConfig: Config for migrating Dataset in
	// automl.googleapis.com to Vertex AI's Dataset.
	MigrateAutomlDatasetConfig *GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig `json:"migrateAutomlDatasetConfig,omitempty"`
	// MigrateAutomlModelConfig: Config for migrating Model in
	// automl.googleapis.com to Vertex AI's Model.
	MigrateAutomlModelConfig *GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig `json:"migrateAutomlModelConfig,omitempty"`
	// MigrateDataLabelingDatasetConfig: Deprecated: Data labeling service is shut
	// down. Config for migrating Dataset in datalabeling.googleapis.com to Vertex
	// AI's Dataset.
	MigrateDataLabelingDatasetConfig *GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig `json:"migrateDataLabelingDatasetConfig,omitempty"`
	// MigrateMlEngineModelVersionConfig: Config for migrating Version in
	// ml.googleapis.com to Vertex AI's Model.
	MigrateMlEngineModelVersionConfig *GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig `json:"migrateMlEngineModelVersionConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MigrateAutomlDatasetConfig")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MigrateAutomlDatasetConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigrateResourceRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig:
// Config for migrating Dataset in automl.googleapis.com to Vertex AI's
// Dataset.
type GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig struct {
	// Dataset: Required. Full resource name of automl Dataset. Format:
	// `projects/{project}/locations/{location}/datasets/{dataset}`.
	Dataset string `json:"dataset,omitempty"`
	// DatasetDisplayName: Required. Display name of the Dataset in Vertex AI.
	// System will pick a display name if unspecified.
	DatasetDisplayName string `json:"datasetDisplayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dataset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig:
// Config for migrating Model in automl.googleapis.com to Vertex AI's Model.
type GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig struct {
	// Model: Required. Full resource name of automl Model. Format:
	// `projects/{project}/locations/{location}/models/{model}`.
	Model string `json:"model,omitempty"`
	// ModelDisplayName: Optional. Display name of the model in Vertex AI. System
	// will pick a display name if unspecified.
	ModelDisplayName string `json:"modelDisplayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Model") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig
// : Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's
// Dataset.
type GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig struct {
	// Dataset: Required. Full resource name of data labeling Dataset. Format:
	// `projects/{project}/datasets/{dataset}`.
	Dataset string `json:"dataset,omitempty"`
	// DatasetDisplayName: Optional. Display name of the Dataset in Vertex AI.
	// System will pick a display name if unspecified.
	DatasetDisplayName string `json:"datasetDisplayName,omitempty"`
	// MigrateDataLabelingAnnotatedDatasetConfigs: 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 []*GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig `json:"migrateDataLabelingAnnotatedDatasetConfigs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dataset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig
// MigrateDataLabelingAnnotatedDatasetConfig: Config for migrating
// AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery.
type GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig struct {
	// AnnotatedDataset: Required. Full resource name of data labeling
	// AnnotatedDataset. Format:
	// `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`
	// .
	AnnotatedDataset string `json:"annotatedDataset,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotatedDataset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotatedDataset") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfi
// g: Config for migrating version in ml.googleapis.com to Vertex AI's Model.
type GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig struct {
	// Endpoint: 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 `json:"endpoint,omitempty"`
	// ModelDisplayName: Required. Display name of the model in Vertex AI. System
	// will pick a display name if unspecified.
	ModelDisplayName string `json:"modelDisplayName,omitempty"`
	// ModelVersion: Required. Full resource name of ml engine model version.
	// Format: `projects/{project}/models/{model}/versions/{version}`.
	ModelVersion string `json:"modelVersion,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Endpoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Endpoint") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MigrateResourceResponse: Describes a successfully
// migrated resource.
type GoogleCloudAiplatformV1MigrateResourceResponse struct {
	// Dataset: Migrated Dataset's resource name.
	Dataset string `json:"dataset,omitempty"`
	// MigratableResource: Before migration, the identifier in ml.googleapis.com,
	// automl.googleapis.com or datalabeling.googleapis.com.
	MigratableResource *GoogleCloudAiplatformV1MigratableResource `json:"migratableResource,omitempty"`
	// Model: Migrated Model's resource name.
	Model string `json:"model,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dataset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MigrateResourceResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModalityTokenCount: Represents a breakdown of token
// usage by modality. This message is used in CountTokensResponse and
// GenerateContentResponse.UsageMetadata to provide a detailed view of how many
// tokens are used by each modality (e.g., text, image, video) in a request.
// This is particularly useful for multimodal models, allowing you to track and
// manage token consumption for billing and quota purposes.
type GoogleCloudAiplatformV1ModalityTokenCount struct {
	// Modality: The modality that this token count applies to.
	//
	// Possible values:
	//   "MODALITY_UNSPECIFIED" - When a modality is not specified, it is treated
	// as `TEXT`.
	//   "TEXT" - The `Part` contains plain text.
	//   "IMAGE" - The `Part` contains an image.
	//   "VIDEO" - The `Part` contains a video.
	//   "AUDIO" - The `Part` contains audio.
	//   "DOCUMENT" - The `Part` contains a document, such as a PDF.
	Modality string `json:"modality,omitempty"`
	// TokenCount: The number of tokens counted for this modality.
	TokenCount int64 `json:"tokenCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Modality") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Modality") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModalityTokenCount) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModalityTokenCount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Model: A trained machine learning Model.
type GoogleCloudAiplatformV1Model struct {
	// ArtifactUri: Immutable. The path to the directory containing the Model
	// artifact and any of its supporting files. Not required for AutoML Models.
	ArtifactUri string `json:"artifactUri,omitempty"`
	// BaseModelSource: Optional. User input field to specify the base model
	// source. Currently it only supports specifing the Model Garden models and
	// Genie models.
	BaseModelSource *GoogleCloudAiplatformV1ModelBaseModelSource `json:"baseModelSource,omitempty"`
	// Checkpoints: Optional. Output only. The checkpoints of the model.
	Checkpoints []*GoogleCloudAiplatformV1Checkpoint `json:"checkpoints,omitempty"`
	// ContainerSpec: Input only. The specification of the container that is to be
	// used when deploying this Model. The specification is ingested upon
	// ModelService.UploadModel, and all binaries it contains are copied and stored
	// internally by Vertex AI. Not required for AutoML Models.
	ContainerSpec *GoogleCloudAiplatformV1ModelContainerSpec `json:"containerSpec,omitempty"`
	// CreateTime: Output only. Timestamp when this Model was uploaded into Vertex
	// AI.
	CreateTime string `json:"createTime,omitempty"`
	// DataStats: Stats of data used for training or evaluating the Model. Only
	// populated when the Model is trained by a TrainingPipeline with
	// data_input_config.
	DataStats *GoogleCloudAiplatformV1ModelDataStats `json:"dataStats,omitempty"`
	// DefaultCheckpointId: The default checkpoint id of a model version.
	DefaultCheckpointId string `json:"defaultCheckpointId,omitempty"`
	// DeployedModels: Output only. The pointers to DeployedModels created from
	// this Model. Note that Model could have been deployed to Endpoints in
	// different Locations.
	DeployedModels []*GoogleCloudAiplatformV1DeployedModelRef `json:"deployedModels,omitempty"`
	// Description: The description of the Model.
	Description string `json:"description,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// ExplanationSpec: The default explanation specification for this Model. The
	// Model can be used for requesting explanation after being deployed if it is
	// populated. The Model can be used for batch explanation if it is populated.
	// All fields of the explanation_spec can be overridden by explanation_spec of
	// DeployModelRequest.deployed_model, or explanation_spec of
	// BatchPredictionJob. If the default explanation specification is not set for
	// this Model, this Model can still be used for requesting explanation by
	// setting explanation_spec of DeployModelRequest.deployed_model and for batch
	// explanation by setting explanation_spec of BatchPredictionJob.
	ExplanationSpec *GoogleCloudAiplatformV1ExplanationSpec `json:"explanationSpec,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Metadata: Immutable. An additional information about the Model; the schema
	// of the metadata can be found in metadata_schema. Unset if the Model does not
	// have any additional information.
	Metadata interface{} `json:"metadata,omitempty"`
	// MetadataArtifact: 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}/arti
	// facts/{artifact}`.
	MetadataArtifact string `json:"metadataArtifact,omitempty"`
	// MetadataSchemaUri: 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 `json:"metadataSchemaUri,omitempty"`
	// ModelSourceInfo: 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 *GoogleCloudAiplatformV1ModelSourceInfo `json:"modelSourceInfo,omitempty"`
	// Name: Identifier. The resource name of the Model.
	Name string `json:"name,omitempty"`
	// OriginalModelInfo: Output only. If this Model is a copy of another Model,
	// this contains info about the original.
	OriginalModelInfo *GoogleCloudAiplatformV1ModelOriginalModelInfo `json:"originalModelInfo,omitempty"`
	// PipelineJob: Optional. This field is populated if the model is produced by a
	// pipeline job.
	PipelineJob string `json:"pipelineJob,omitempty"`
	// PredictSchemata: The schemata that describe formats of the Model's
	// predictions and explanations as given and returned via
	// PredictionService.Predict and PredictionService.Explain.
	PredictSchemata *GoogleCloudAiplatformV1PredictSchemata `json:"predictSchemata,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// SupportedDeploymentResourcesTypes: Output only. When this Model is deployed,
	// its prediction resources are described by the `prediction_resources` field
	// of the 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 and does not support online predictions
	// (PredictionService.Predict or PredictionService.Explain). Such a Model can
	// serve predictions by using a BatchPredictionJob, if it has at least one
	// entry each in supported_input_storage_formats and
	// supported_output_storage_formats.
	//
	// Possible values:
	//   "DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED" - Should not be used.
	//   "DEDICATED_RESOURCES" - Resources that are dedicated to the DeployedModel,
	// and that need a higher degree of manual configuration.
	//   "AUTOMATIC_RESOURCES" - Resources that to large degree are decided by
	// Vertex AI, and require only a modest additional configuration.
	//   "SHARED_RESOURCES" - Resources that can be shared by multiple
	// DeployedModels. A pre-configured DeploymentResourcePool is required.
	SupportedDeploymentResourcesTypes []string `json:"supportedDeploymentResourcesTypes,omitempty"`
	// SupportedExportFormats: Output only. The formats in which this Model may be
	// exported. If empty, this Model is not available for export.
	SupportedExportFormats []*GoogleCloudAiplatformV1ModelExportFormat `json:"supportedExportFormats,omitempty"`
	// SupportedInputStorageFormats: Output only. The formats this Model supports
	// in BatchPredictionJob.input_config. If 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. * `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. * `tf-record` The
	// TFRecord format, where each instance is a single record in tfrecord syntax.
	// Uses GcsSource. * `tf-record-gzip` Similar to `tf-record`, but the file is
	// gzipped. Uses GcsSource. * `bigquery` Each instance is a single row in
	// BigQuery. Uses BigQuerySource. * `file-list` Each line of the file is the
	// location of an instance to process, uses `gcs_source` field of the
	// InputConfig object. If this Model doesn't support any of these formats it
	// means it cannot be used with a BatchPredictionJob. However, if it has
	// supported_deployment_resources_types, it could serve online predictions by
	// using PredictionService.Predict or PredictionService.Explain.
	SupportedInputStorageFormats []string `json:"supportedInputStorageFormats,omitempty"`
	// SupportedOutputStorageFormats: Output only. The formats this Model supports
	// in BatchPredictionJob.output_config. If both
	// PredictSchemata.instance_schema_uri and
	// 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. * `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. * `bigquery` Each prediction is a single row in a BigQuery
	// table, uses BigQueryDestination . If this Model doesn't support any of these
	// formats it means it cannot be used with a BatchPredictionJob. However, if it
	// has supported_deployment_resources_types, it could serve online predictions
	// by using PredictionService.Predict or PredictionService.Explain.
	SupportedOutputStorageFormats []string `json:"supportedOutputStorageFormats,omitempty"`
	// TrainingPipeline: Output only. The resource name of the TrainingPipeline
	// that uploaded this Model, if any.
	TrainingPipeline string `json:"trainingPipeline,omitempty"`
	// UpdateTime: Output only. Timestamp when this Model was most recently
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// VersionAliases: 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{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 `json:"versionAliases,omitempty"`
	// VersionCreateTime: Output only. Timestamp when this version was created.
	VersionCreateTime string `json:"versionCreateTime,omitempty"`
	// VersionDescription: The description of this version.
	VersionDescription string `json:"versionDescription,omitempty"`
	// VersionId: 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 `json:"versionId,omitempty"`
	// VersionUpdateTime: Output only. Timestamp when this version was most
	// recently updated.
	VersionUpdateTime string `json:"versionUpdateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ArtifactUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Model) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Model
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelArmorConfig: Configuration for Model Armor.
// Model Armor is a Google Cloud service that provides safety and security
// filtering for prompts and responses. It helps protect your AI applications
// from risks such as harmful content, sensitive data leakage, and prompt
// injection attacks.
type GoogleCloudAiplatformV1ModelArmorConfig struct {
	// PromptTemplateName: Optional. The resource name of the Model Armor template
	// to use for prompt screening. A Model Armor template is a set of customized
	// filters and thresholds that define how Model Armor screens content. If
	// specified, Model Armor will use this template to check the user's prompt for
	// safety and security risks before it is sent to the model. The name must be
	// in the format
	// `projects/{project}/locations/{location}/templates/{template}`.
	PromptTemplateName string `json:"promptTemplateName,omitempty"`
	// ResponseTemplateName: Optional. The resource name of the Model Armor
	// template to use for response screening. A Model Armor template is a set of
	// customized filters and thresholds that define how Model Armor screens
	// content. If specified, Model Armor will use this template to check the
	// model's response for safety and security risks before it is returned to the
	// user. The name must be in the format
	// `projects/{project}/locations/{location}/templates/{template}`.
	ResponseTemplateName string `json:"responseTemplateName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PromptTemplateName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PromptTemplateName") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelArmorConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelArmorConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelBaseModelSource: User input field to specify the
// base model source. Currently it only supports specifing the Model Garden
// models and Genie models.
type GoogleCloudAiplatformV1ModelBaseModelSource struct {
	// GenieSource: Information about the base model of Genie models.
	GenieSource *GoogleCloudAiplatformV1GenieSource `json:"genieSource,omitempty"`
	// ModelGardenSource: Source information of Model Garden models.
	ModelGardenSource *GoogleCloudAiplatformV1ModelGardenSource `json:"modelGardenSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenieSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenieSource") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelBaseModelSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelBaseModelSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelContainerSpec: 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 GoogleCloudAiplatformV1ModelContainerSpec struct {
	// Args: 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 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 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 `json:"args,omitempty"`
	// Command: 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
	// 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 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 `json:"command,omitempty"`
	// DeploymentTimeout: Immutable. Deployment timeout. Limit for deployment
	// timeout is 2 hours.
	DeploymentTimeout string `json:"deploymentTimeout,omitempty"`
	// Env: 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 and 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 []*GoogleCloudAiplatformV1EnvVar `json:"env,omitempty"`
	// GrpcPorts: 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 []*GoogleCloudAiplatformV1Port `json:"grpcPorts,omitempty"`
	// HealthProbe: Immutable. Specification for Kubernetes readiness probe.
	HealthProbe *GoogleCloudAiplatformV1Probe `json:"healthProbe,omitempty"`
	// HealthRoute: 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 field. If
	// you don't specify this field, it defaults to the following value when you
	// deploy this Model to an Endpoint: /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 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 `json:"healthRoute,omitempty"`
	// ImageUri: 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, 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 `json:"imageUri,omitempty"`
	// InvokeRoutePrefix: Immutable. Invoke route prefix for the custom container.
	// "/*" is the only supported value right now. By setting this field, any
	// non-root route on this model will be accessible with invoke http call eg:
	// "/invoke/foo/bar", however the [PredictionService.Invoke] RPC is not
	// supported yet. Only one of `predict_route` or `invoke_route_prefix` can be
	// set, and we default to using `predict_route` if this field is not set. If
	// this field is set, the Model can only be deployed to dedicated endpoint.
	InvokeRoutePrefix string `json:"invokeRoutePrefix,omitempty"`
	// LivenessProbe: Immutable. Specification for Kubernetes liveness probe.
	LivenessProbe *GoogleCloudAiplatformV1Probe `json:"livenessProbe,omitempty"`
	// Ports: 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 []*GoogleCloudAiplatformV1Port `json:"ports,omitempty"`
	// PredictRoute: Immutable. HTTP path on the container to send prediction
	// requests to. Vertex AI forwards requests sent using
	// projects.locations.endpoints.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 field. If you don't specify
	// this field, it defaults to the following value when you deploy this Model to
	// an Endpoint: /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 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 `json:"predictRoute,omitempty"`
	// SharedMemorySizeMb: Immutable. The amount of the VM memory to reserve as the
	// shared memory for the model in megabytes.
	SharedMemorySizeMb int64 `json:"sharedMemorySizeMb,omitempty,string"`
	// StartupProbe: Immutable. Specification for Kubernetes startup probe.
	StartupProbe *GoogleCloudAiplatformV1Probe `json:"startupProbe,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Args") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelContainerSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelContainerSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelDataStats: Stats of data used for train or
// evaluate the Model.
type GoogleCloudAiplatformV1ModelDataStats struct {
	// TestAnnotationsCount: Number of Annotations that are used for evaluating
	// this Model. If the Model is evaluated multiple times, this will be the
	// number of test Annotations used by the first evaluation. If the Model is not
	// evaluated, the number is 0.
	TestAnnotationsCount int64 `json:"testAnnotationsCount,omitempty,string"`
	// TestDataItemsCount: Number of DataItems that were used for evaluating this
	// Model. If the Model is evaluated multiple times, this will be the number of
	// test DataItems used by the first evaluation. If the Model is not evaluated,
	// the number is 0.
	TestDataItemsCount int64 `json:"testDataItemsCount,omitempty,string"`
	// TrainingAnnotationsCount: Number of Annotations that are used for training
	// this Model.
	TrainingAnnotationsCount int64 `json:"trainingAnnotationsCount,omitempty,string"`
	// TrainingDataItemsCount: Number of DataItems that were used for training this
	// Model.
	TrainingDataItemsCount int64 `json:"trainingDataItemsCount,omitempty,string"`
	// ValidationAnnotationsCount: Number of Annotations that are used for
	// validating this Model during training.
	ValidationAnnotationsCount int64 `json:"validationAnnotationsCount,omitempty,string"`
	// ValidationDataItemsCount: Number of DataItems that were used for validating
	// this Model during training.
	ValidationDataItemsCount int64 `json:"validationDataItemsCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "TestAnnotationsCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TestAnnotationsCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelDataStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDataStats
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable:
// ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name as
// well as some information of the logs stored in this table.
type GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable struct {
	// BigqueryTablePath: The created BigQuery table to store logs. Customer could
	// do their own query & analysis. Format:
	// `bq://.model_deployment_monitoring_._`
	BigqueryTablePath string `json:"bigqueryTablePath,omitempty"`
	// LogSource: The source of log.
	//
	// Possible values:
	//   "LOG_SOURCE_UNSPECIFIED" - Unspecified source.
	//   "TRAINING" - Logs coming from Training dataset.
	//   "SERVING" - Logs coming from Serving traffic.
	LogSource string `json:"logSource,omitempty"`
	// LogType: The type of log.
	//
	// Possible values:
	//   "LOG_TYPE_UNSPECIFIED" - Unspecified type.
	//   "PREDICT" - Predict logs.
	//   "EXPLAIN" - Explain logs.
	LogType string `json:"logType,omitempty"`
	// RequestResponseLoggingSchemaVersion: Output only. The schema version of the
	// request/response logging BigQuery table. Default to v1 if unset.
	RequestResponseLoggingSchemaVersion string `json:"requestResponseLoggingSchemaVersion,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryTablePath") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryTablePath") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelDeploymentMonitoringJob: 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 GoogleCloudAiplatformV1ModelDeploymentMonitoringJob struct {
	// AnalysisInstanceSchemaUri: 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, 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 `json:"analysisInstanceSchemaUri,omitempty"`
	// BigqueryTables: 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 []*GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable `json:"bigqueryTables,omitempty"`
	// CreateTime: Output only. Timestamp when this ModelDeploymentMonitoringJob
	// was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EnableMonitoringPipelineLogs: 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 `json:"enableMonitoringPipelineLogs,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Endpoint: Required. Endpoint resource name. Format:
	// `projects/{project}/locations/{location}/endpoints/{endpoint}`
	Endpoint string `json:"endpoint,omitempty"`
	// Error: Output only. Only populated when the job's state is
	// `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// LatestMonitoringPipelineMetadata: Output only. Latest triggered monitoring
	// pipeline metadata.
	LatestMonitoringPipelineMetadata *GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata `json:"latestMonitoringPipelineMetadata,omitempty"`
	// LogTtl: 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 string `json:"logTtl,omitempty"`
	// LoggingSamplingStrategy: Required. Sample Strategy for logging.
	LoggingSamplingStrategy *GoogleCloudAiplatformV1SamplingStrategy `json:"loggingSamplingStrategy,omitempty"`
	// ModelDeploymentMonitoringObjectiveConfigs: Required. The config for
	// monitoring objectives. This is a per DeployedModel config. Each
	// DeployedModel needs to be configured separately.
	ModelDeploymentMonitoringObjectiveConfigs []*GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig `json:"modelDeploymentMonitoringObjectiveConfigs,omitempty"`
	// ModelDeploymentMonitoringScheduleConfig: Required. Schedule config for
	// running the monitoring job.
	ModelDeploymentMonitoringScheduleConfig *GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig `json:"modelDeploymentMonitoringScheduleConfig,omitempty"`
	// ModelMonitoringAlertConfig: Alert config for model monitoring.
	ModelMonitoringAlertConfig *GoogleCloudAiplatformV1ModelMonitoringAlertConfig `json:"modelMonitoringAlertConfig,omitempty"`
	// Name: Output only. Resource name of a ModelDeploymentMonitoringJob.
	Name string `json:"name,omitempty"`
	// NextScheduleTime: Output only. Timestamp when this monitoring pipeline will
	// be scheduled to run for the next round.
	NextScheduleTime string `json:"nextScheduleTime,omitempty"`
	// PredictInstanceSchemaUri: 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 `json:"predictInstanceSchemaUri,omitempty"`
	// SamplePredictInstance: Sample Predict instance, same format as
	// PredictRequest.instances, this can be set as a replacement of
	// ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we
	// will generate predict schema from collected predict requests.
	SamplePredictInstance interface{} `json:"samplePredictInstance,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// ScheduleState: Output only. Schedule state when the monitoring job is in
	// Running state.
	//
	// Possible values:
	//   "MONITORING_SCHEDULE_STATE_UNSPECIFIED" - Unspecified state.
	//   "PENDING" - The pipeline is picked up and wait to run.
	//   "OFFLINE" - The pipeline is offline and will be scheduled for next run.
	//   "RUNNING" - The pipeline is running.
	ScheduleState string `json:"scheduleState,omitempty"`
	// State: 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'.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	State string `json:"state,omitempty"`
	// StatsAnomaliesBaseDirectory: Stats anomalies base folder path.
	StatsAnomaliesBaseDirectory *GoogleCloudAiplatformV1GcsDestination `json:"statsAnomaliesBaseDirectory,omitempty"`
	// UpdateTime: Output only. Timestamp when this ModelDeploymentMonitoringJob
	// was updated most recently.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AnalysisInstanceSchemaUri")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnalysisInstanceSchemaUri") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelDeploymentMonitoringJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMe
// tadata: All metadata of most recent monitoring pipelines.
type GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata struct {
	// RunTime: The time that most recent monitoring pipelines that is related to
	// this run.
	RunTime string `json:"runTime,omitempty"`
	// Status: The status of the most recent monitoring pipeline.
	Status *GoogleRpcStatus `json:"status,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RunTime") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RunTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig:
// ModelDeploymentMonitoringObjectiveConfig contains the pair of
// deployed_model_id to ModelMonitoringObjectiveConfig.
type GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig struct {
	// DeployedModelId: The DeployedModel ID of the objective config.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// ObjectiveConfig: The objective config of for the modelmonitoring job of this
	// deployed model.
	ObjectiveConfig *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig `json:"objectiveConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig: The config
// for scheduling monitoring job.
type GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig struct {
	// MonitorInterval: 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 string `json:"monitorInterval,omitempty"`
	// MonitorWindow: 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 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 string `json:"monitorWindow,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MonitorInterval") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MonitorInterval") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelEvaluation: A collection of metrics calculated
// by comparing Model's predictions on all of the test data against annotations
// from the test data.
type GoogleCloudAiplatformV1ModelEvaluation struct {
	// AnnotationSchemaUri: Points to a YAML file stored on Google Cloud Storage
	// describing EvaluatedDataItemView.predictions,
	// EvaluatedDataItemView.ground_truths, EvaluatedAnnotation.predictions, and
	// EvaluatedAnnotation.ground_truths. 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).
	// This field is not populated if there are neither EvaluatedDataItemViews nor
	// EvaluatedAnnotations under this ModelEvaluation.
	AnnotationSchemaUri string `json:"annotationSchemaUri,omitempty"`
	// CreateTime: Output only. Timestamp when this ModelEvaluation was created.
	CreateTime string `json:"createTime,omitempty"`
	// DataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
	// describing EvaluatedDataItemView.data_item_payload and
	// EvaluatedAnnotation.data_item_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).
	// This field is not populated if there are neither EvaluatedDataItemViews nor
	// EvaluatedAnnotations under this ModelEvaluation.
	DataItemSchemaUri string `json:"dataItemSchemaUri,omitempty"`
	// DisplayName: The display name of the ModelEvaluation.
	DisplayName string `json:"displayName,omitempty"`
	// ExplanationSpecs: Describes the values of ExplanationSpec that are used for
	// explaining the predicted values on the evaluated data.
	ExplanationSpecs []*GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec `json:"explanationSpecs,omitempty"`
	// Metadata: 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 interface{} `json:"metadata,omitempty"`
	// Metrics: Evaluation metrics of the Model. The schema of the metrics is
	// stored in metrics_schema_uri
	Metrics interface{} `json:"metrics,omitempty"`
	// MetricsSchemaUri: Points to a YAML file stored on Google Cloud Storage
	// describing the 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 `json:"metricsSchemaUri,omitempty"`
	// ModelExplanation: 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 *GoogleCloudAiplatformV1ModelExplanation `json:"modelExplanation,omitempty"`
	// Name: Output only. The resource name of the ModelEvaluation.
	Name string `json:"name,omitempty"`
	// SliceDimensions: All possible dimensions of ModelEvaluationSlices. The
	// dimensions can be used as the filter of the
	// ModelService.ListModelEvaluationSlices request, in the form of
	// `slice.dimension = `.
	SliceDimensions []string `json:"sliceDimensions,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSchemaUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSchemaUri") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec struct {
	// ExplanationSpec: Explanation spec details.
	ExplanationSpec *GoogleCloudAiplatformV1ExplanationSpec `json:"explanationSpec,omitempty"`
	// ExplanationType: Explanation type. For AutoML Image Classification models,
	// possible values are: * `image-integrated-gradients` * `image-xrai`
	ExplanationType string `json:"explanationType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExplanationSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExplanationSpec") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelEvaluationSlice: A collection of metrics
// calculated by comparing Model's predictions on a slice of the test data
// against ground truth annotations.
type GoogleCloudAiplatformV1ModelEvaluationSlice struct {
	// CreateTime: Output only. Timestamp when this ModelEvaluationSlice was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// Metrics: Output only. Sliced evaluation metrics of the Model. The schema of
	// the metrics is stored in metrics_schema_uri
	Metrics interface{} `json:"metrics,omitempty"`
	// MetricsSchemaUri: Output only. Points to a YAML file stored on Google Cloud
	// Storage describing the 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 `json:"metricsSchemaUri,omitempty"`
	// ModelExplanation: 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 *GoogleCloudAiplatformV1ModelExplanation `json:"modelExplanation,omitempty"`
	// Name: Output only. The resource name of the ModelEvaluationSlice.
	Name string `json:"name,omitempty"`
	// Slice: Output only. The slice of the test data that is used to evaluate the
	// Model.
	Slice *GoogleCloudAiplatformV1ModelEvaluationSliceSlice `json:"slice,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluationSlice) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSlice
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelEvaluationSliceSlice: Definition of a slice.
type GoogleCloudAiplatformV1ModelEvaluationSliceSlice struct {
	// Dimension: 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 equals to value.
	// * `slice`: This slice is a user customized slice defined by its SliceSpec.
	Dimension string `json:"dimension,omitempty"`
	// SliceSpec: Output only. Specification for how the data was sliced.
	SliceSpec *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec `json:"sliceSpec,omitempty"`
	// Value: Output only. The value of the dimension in this slice.
	Value string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dimension") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dimension") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluationSliceSlice) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSlice
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec: Specification for
// how the data should be sliced.
type GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec struct {
	// Configs: 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]GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig `json:"configs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Configs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Configs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange: A range of
// values for slice(s). `low` is inclusive, `high` is exclusive.
type GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange struct {
	// High: Exclusive high value for the range.
	High float64 `json:"high,omitempty"`
	// Low: Inclusive low value for the range.
	Low float64 `json:"low,omitempty"`
	// ForceSendFields is a list of field names (e.g. "High") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "High") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange
	var s1 struct {
		High gensupport.JSONFloat64 `json:"high"`
		Low  gensupport.JSONFloat64 `json:"low"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.High = float64(s1.High)
	s.Low = float64(s1.Low)
	return nil
}

// GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig:
// 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 GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig struct {
	// AllValues: 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 bool `json:"allValues,omitempty"`
	// Range: 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 *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange `json:"range,omitempty"`
	// Value: A unique specific value for a given feature. Example: `{ "value": {
	// "string_value": "12345" } }`
	Value *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllValues") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllValues") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue: Single value
// that supports strings and floats.
type GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue struct {
	// FloatValue: Float type.
	FloatValue float64 `json:"floatValue,omitempty"`
	// StringValue: String type.
	StringValue string `json:"stringValue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FloatValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FloatValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue
	var s1 struct {
		FloatValue gensupport.JSONFloat64 `json:"floatValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.FloatValue = float64(s1.FloatValue)
	return nil
}

// GoogleCloudAiplatformV1ModelExplanation: Aggregated explanation metrics for
// a Model over a set of instances.
type GoogleCloudAiplatformV1ModelExplanation struct {
	// MeanAttributions: 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 can be used to
	// identify which output this attribution is explaining. The
	// baselineOutputValue, instanceOutputValue and featureAttributions 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 is not populated.
	MeanAttributions []*GoogleCloudAiplatformV1Attribution `json:"meanAttributions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MeanAttributions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MeanAttributions") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelExplanation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelExplanation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelExportFormat: Represents export format supported
// by the Model. All formats export to Google Cloud Storage.
type GoogleCloudAiplatformV1ModelExportFormat struct {
	// ExportableContents: Output only. The content of this Model that may be
	// exported.
	//
	// Possible values:
	//   "EXPORTABLE_CONTENT_UNSPECIFIED" - Should not be used.
	//   "ARTIFACT" - Model artifact and any of its supported files. Will be
	// exported to the location specified by the `artifactDestination` field of the
	// ExportModelRequest.output_config object.
	//   "IMAGE" - 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 object.
	ExportableContents []string `json:"exportableContents,omitempty"`
	// Id: 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. *
	// `genie` A tuned Model Garden model.
	Id string `json:"id,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExportableContents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExportableContents") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelExportFormat) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelExportFormat
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelGardenSource: Contains information about the
// source of the models generated from Model Garden.
type GoogleCloudAiplatformV1ModelGardenSource struct {
	// PublicModelName: Required. The model garden source model resource name.
	PublicModelName string `json:"publicModelName,omitempty"`
	// SkipHfModelCache: Optional. Whether to avoid pulling the model from the HF
	// cache.
	SkipHfModelCache bool `json:"skipHfModelCache,omitempty"`
	// VersionId: Optional. The model garden source model version ID.
	VersionId string `json:"versionId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PublicModelName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PublicModelName") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelGardenSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelGardenSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringAlertConfig: The alert config for
// model monitoring.
type GoogleCloudAiplatformV1ModelMonitoringAlertConfig struct {
	// EmailAlertConfig: Email alert config.
	EmailAlertConfig *GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig `json:"emailAlertConfig,omitempty"`
	// EnableLogging: Dump the anomalies to Cloud Logging. The anomalies will be
	// put to json payload encoded from proto ModelMonitoringStatsAnomalies. This
	// can be further synced to Pub/Sub or any other services supported by Cloud
	// Logging.
	EnableLogging bool `json:"enableLogging,omitempty"`
	// NotificationChannels: Resource names of the NotificationChannels to send
	// alert. Must be of the format `projects//notificationChannels/`
	NotificationChannels []string `json:"notificationChannels,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EmailAlertConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EmailAlertConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringAlertConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringAlertConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig: The
// config for email alert.
type GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig struct {
	// UserEmails: The email addresses to send the alert.
	UserEmails []string `json:"userEmails,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UserEmails") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UserEmails") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig: The objective
// configuration for model monitoring, including the information needed to
// detect anomalies for one particular model.
type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig struct {
	// ExplanationConfig: The config for integrating with Vertex Explainable AI.
	ExplanationConfig *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig `json:"explanationConfig,omitempty"`
	// PredictionDriftDetectionConfig: The config for drift of prediction data.
	PredictionDriftDetectionConfig *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig `json:"predictionDriftDetectionConfig,omitempty"`
	// TrainingDataset: Training dataset for models. This field has to be set only
	// if TrainingPredictionSkewDetectionConfig is specified.
	TrainingDataset *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset `json:"trainingDataset,omitempty"`
	// TrainingPredictionSkewDetectionConfig: The config for skew between training
	// data and prediction data.
	TrainingPredictionSkewDetectionConfig *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig `json:"trainingPredictionSkewDetectionConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExplanationConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExplanationConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig: The
// config for integrating with Vertex Explainable AI. Only applicable if the
// Model has explanation_spec populated.
type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig struct {
	// EnableFeatureAttributes: 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 `json:"enableFeatureAttributes,omitempty"`
	// ExplanationBaseline: Predictions generated by the BatchPredictionJob using
	// baseline dataset.
	ExplanationBaseline *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline `json:"explanationBaseline,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnableFeatureAttributes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnableFeatureAttributes") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplana
// tionBaseline: Output from BatchPredictionJob for Model Monitoring baseline
// dataset, which can be used to generate baseline attribution scores.
type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline struct {
	// Bigquery: BigQuery location for BatchExplain output.
	Bigquery *GoogleCloudAiplatformV1BigQueryDestination `json:"bigquery,omitempty"`
	// Gcs: Cloud Storage location for BatchExplain output.
	Gcs *GoogleCloudAiplatformV1GcsDestination `json:"gcs,omitempty"`
	// PredictionFormat: The storage format of the predictions generated
	// BatchPrediction job.
	//
	// Possible values:
	//   "PREDICTION_FORMAT_UNSPECIFIED" - Should not be set.
	//   "JSONL" - Predictions are in JSONL files.
	//   "BIGQUERY" - Predictions are in BigQuery.
	PredictionFormat string `json:"predictionFormat,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Bigquery") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Bigquery") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetection
// Config: The config for Prediction data drift detection.
type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig struct {
	// AttributionScoreDriftThresholds: 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]GoogleCloudAiplatformV1ThresholdConfig `json:"attributionScoreDriftThresholds,omitempty"`
	// DefaultDriftThreshold: 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 *GoogleCloudAiplatformV1ThresholdConfig `json:"defaultDriftThreshold,omitempty"`
	// DriftThresholds: 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]GoogleCloudAiplatformV1ThresholdConfig `json:"driftThresholds,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "AttributionScoreDriftThresholds") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AttributionScoreDriftThresholds")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset:
// Training Dataset information.
type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset struct {
	// BigquerySource: The BigQuery table of the unmanaged Dataset used to train
	// this Model.
	BigquerySource *GoogleCloudAiplatformV1BigQuerySource `json:"bigquerySource,omitempty"`
	// DataFormat: 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 `json:"dataFormat,omitempty"`
	// Dataset: The resource name of the Dataset used to train this Model.
	Dataset string `json:"dataset,omitempty"`
	// GcsSource: The Google Cloud Storage uri of the unmanaged Dataset used to
	// train this Model.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// LoggingSamplingStrategy: Strategy to sample data from Training Dataset. If
	// not set, we process the whole dataset.
	LoggingSamplingStrategy *GoogleCloudAiplatformV1SamplingStrategy `json:"loggingSamplingStrategy,omitempty"`
	// TargetField: 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 `json:"targetField,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigquerySource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigquerySource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDe
// tectionConfig: The config for Training & Prediction data skew detection. It
// specifies the training dataset sources and the skew detection parameters.
type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig struct {
	// AttributionScoreSkewThresholds: 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]GoogleCloudAiplatformV1ThresholdConfig `json:"attributionScoreSkewThresholds,omitempty"`
	// DefaultSkewThreshold: 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 *GoogleCloudAiplatformV1ThresholdConfig `json:"defaultSkewThreshold,omitempty"`
	// SkewThresholds: 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]GoogleCloudAiplatformV1ThresholdConfig `json:"skewThresholds,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "AttributionScoreSkewThresholds") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AttributionScoreSkewThresholds")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies: Statistics and
// anomalies generated by Model Monitoring.
type GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies struct {
	// AnomalyCount: Number of anomalies within all stats.
	AnomalyCount int64 `json:"anomalyCount,omitempty"`
	// DeployedModelId: Deployed Model ID.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// FeatureStats: A list of historical Stats and Anomalies generated for all
	// Features.
	FeatureStats []*GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies `json:"featureStats,omitempty"`
	// Objective: Model Monitoring Objective those stats and anomalies belonging
	// to.
	//
	// Possible values:
	//   "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED" - Default value,
	// should not be set.
	//   "RAW_FEATURE_SKEW" - Raw feature values' stats to detect skew between
	// Training-Prediction datasets.
	//   "RAW_FEATURE_DRIFT" - Raw feature values' stats to detect drift between
	// Serving-Prediction datasets.
	//   "FEATURE_ATTRIBUTION_SKEW" - Feature attribution scores to detect skew
	// between Training-Prediction datasets.
	//   "FEATURE_ATTRIBUTION_DRIFT" - Feature attribution scores to detect skew
	// between Prediction datasets collected within different time windows.
	Objective string `json:"objective,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnomalyCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnomalyCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnoma
// lies: Historical Stats (and Anomalies) for a specific Feature.
type GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies struct {
	// FeatureDisplayName: Display Name of the Feature.
	FeatureDisplayName string `json:"featureDisplayName,omitempty"`
	// PredictionStats: A list of historical stats generated by different time
	// window's Prediction Dataset.
	PredictionStats []*GoogleCloudAiplatformV1FeatureStatsAnomaly `json:"predictionStats,omitempty"`
	// Threshold: Threshold for anomaly detection.
	Threshold *GoogleCloudAiplatformV1ThresholdConfig `json:"threshold,omitempty"`
	// TrainingStats: Stats calculated for the Training Dataset.
	TrainingStats *GoogleCloudAiplatformV1FeatureStatsAnomaly `json:"trainingStats,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FeatureDisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureDisplayName") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelOriginalModelInfo: Contains information about
// the original Model if this Model is a copy.
type GoogleCloudAiplatformV1ModelOriginalModelInfo struct {
	// Model: 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 `json:"model,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Model") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelOriginalModelInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelOriginalModelInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelSourceInfo: Detail description of the source
// information of the model.
type GoogleCloudAiplatformV1ModelSourceInfo struct {
	// Copy: If this Model is copy of another Model. If true then source_type
	// pertains to the original.
	Copy bool `json:"copy,omitempty"`
	// SourceType: Type of the model source.
	//
	// Possible values:
	//   "MODEL_SOURCE_TYPE_UNSPECIFIED" - Should not be used.
	//   "AUTOML" - The Model is uploaded by automl training pipeline.
	//   "CUSTOM" - The Model is uploaded by user or custom training pipeline.
	//   "BQML" - The Model is registered and sync'ed from BigQuery ML.
	//   "MODEL_GARDEN" - The Model is saved or tuned from Model Garden.
	//   "GENIE" - The Model is saved or tuned from Genie.
	//   "CUSTOM_TEXT_EMBEDDING" - The Model is uploaded by text embedding
	// finetuning pipeline.
	//   "MARKETPLACE" - The Model is saved or tuned from Marketplace.
	SourceType string `json:"sourceType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Copy") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Copy") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelSourceInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelSourceInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ModelVersionCheckpoint: Describes the machine
// learning model version checkpoint.
type GoogleCloudAiplatformV1ModelVersionCheckpoint struct {
	// CheckpointId: The ID of the checkpoint.
	CheckpointId string `json:"checkpointId,omitempty"`
	// Epoch: The epoch of the checkpoint.
	Epoch int64 `json:"epoch,omitempty,string"`
	// Step: The step of the checkpoint.
	Step int64 `json:"step,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "CheckpointId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CheckpointId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ModelVersionCheckpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelVersionCheckpoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MultiSpeakerVoiceConfig: Configuration for a
// multi-speaker text-to-speech request.
type GoogleCloudAiplatformV1MultiSpeakerVoiceConfig struct {
	// SpeakerVoiceConfigs: Required. A list of configurations for the voices of
	// the speakers. Exactly two speaker voice configurations must be provided.
	SpeakerVoiceConfigs []*GoogleCloudAiplatformV1SpeakerVoiceConfig `json:"speakerVoiceConfigs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SpeakerVoiceConfigs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SpeakerVoiceConfigs") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MultiSpeakerVoiceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MultiSpeakerVoiceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata: Runtime
// operation information for IndexEndpointService.MutateDeployedIndex.
type GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata struct {
	// DeployedIndexId: The unique index id specified by user
	DeployedIndexId string `json:"deployedIndexId,omitempty"`
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndexId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndexId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MutateDeployedIndexResponse: Response message for
// IndexEndpointService.MutateDeployedIndex.
type GoogleCloudAiplatformV1MutateDeployedIndexResponse struct {
	// DeployedIndex: The DeployedIndex that had been updated in the IndexEndpoint.
	DeployedIndex *GoogleCloudAiplatformV1DeployedIndex `json:"deployedIndex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndex") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MutateDeployedIndexResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedIndexResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata: Runtime
// operation information for EndpointService.MutateDeployedModel.
type GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MutateDeployedModelRequest: Request message for
// EndpointService.MutateDeployedModel.
type GoogleCloudAiplatformV1MutateDeployedModelRequest struct {
	// DeployedModel: Required. The DeployedModel to be mutated within the
	// Endpoint. Only the following fields can be mutated: * `min_replica_count` in
	// either DedicatedResources or AutomaticResources * `max_replica_count` in
	// either DedicatedResources or AutomaticResources * `required_replica_count`
	// in DedicatedResources * autoscaling_metric_specs *
	// `disable_container_logging` (v1 only) * `enable_container_logging` (v1beta1
	// only) * `scale_to_zero_spec` in DedicatedResources (v1beta1 only) *
	// `initial_replica_count` in DedicatedResources (v1beta1 only)
	DeployedModel *GoogleCloudAiplatformV1DeployedModel `json:"deployedModel,omitempty"`
	// UpdateMask: Required. The update mask applies to the resource. See
	// google.protobuf.FieldMask.
	UpdateMask string `json:"updateMask,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MutateDeployedModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedModelRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1MutateDeployedModelResponse: Response message for
// EndpointService.MutateDeployedModel.
type GoogleCloudAiplatformV1MutateDeployedModelResponse struct {
	// DeployedModel: The DeployedModel that's being mutated.
	DeployedModel *GoogleCloudAiplatformV1DeployedModel `json:"deployedModel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1MutateDeployedModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedModelResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJob: Represents a Neural Architecture Search (NAS)
// job.
type GoogleCloudAiplatformV1NasJob struct {
	// CreateTime: Output only. Time when the NasJob was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EnableRestrictedImageTraining: Optional. Enable a separation of Custom model
	// training and restricted image training for tenant project.
	EnableRestrictedImageTraining bool `json:"enableRestrictedImageTraining,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EndTime: Output only. Time when the NasJob entered any of the following
	// states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. Only populated when job's state is JOB_STATE_FAILED or
	// JOB_STATE_CANCELLED.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. Resource name of the NasJob.
	Name string `json:"name,omitempty"`
	// NasJobOutput: Output only. Output of the NasJob.
	NasJobOutput *GoogleCloudAiplatformV1NasJobOutput `json:"nasJobOutput,omitempty"`
	// NasJobSpec: Required. The specification of a NasJob.
	NasJobSpec *GoogleCloudAiplatformV1NasJobSpec `json:"nasJobSpec,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// StartTime: Output only. Time when the NasJob for the first time entered the
	// `JOB_STATE_RUNNING` state.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the job.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Time when the NasJob was most recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJobOutput: Represents a uCAIP NasJob output.
type GoogleCloudAiplatformV1NasJobOutput struct {
	// MultiTrialJobOutput: Output only. The output of this multi-trial Neural
	// Architecture Search (NAS) job.
	MultiTrialJobOutput *GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput `json:"multiTrialJobOutput,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MultiTrialJobOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MultiTrialJobOutput") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJobOutput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobOutput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput: The output of a
// multi-trial Neural Architecture Search (NAS) jobs.
type GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput struct {
	// SearchTrials: Output only. List of NasTrials that were started as part of
	// search stage.
	SearchTrials []*GoogleCloudAiplatformV1NasTrial `json:"searchTrials,omitempty"`
	// TrainTrials: Output only. List of NasTrials that were started as part of
	// train stage.
	TrainTrials []*GoogleCloudAiplatformV1NasTrial `json:"trainTrials,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SearchTrials") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SearchTrials") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJobSpec: Represents the spec of a NasJob.
type GoogleCloudAiplatformV1NasJobSpec struct {
	// MultiTrialAlgorithmSpec: The spec of multi-trial algorithms.
	MultiTrialAlgorithmSpec *GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec `json:"multiTrialAlgorithmSpec,omitempty"`
	// ResumeNasJobId: 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 `json:"resumeNasJobId,omitempty"`
	// SearchSpaceSpec: It defines the search space for Neural Architecture Search
	// (NAS).
	SearchSpaceSpec string `json:"searchSpaceSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MultiTrialAlgorithmSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MultiTrialAlgorithmSpec") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJobSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec: The spec of
// multi-trial Neural Architecture Search (NAS).
type GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec struct {
	// Metric: Metric specs for the NAS job. Validation for this field is done at
	// `multi_trial_algorithm_spec` field.
	Metric *GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec `json:"metric,omitempty"`
	// MultiTrialAlgorithm: The multi-trial Neural Architecture Search (NAS)
	// algorithm type. Defaults to `REINFORCEMENT_LEARNING`.
	//
	// Possible values:
	//   "MULTI_TRIAL_ALGORITHM_UNSPECIFIED" - Defaults to
	// `REINFORCEMENT_LEARNING`.
	//   "REINFORCEMENT_LEARNING" - The Reinforcement Learning Algorithm for
	// Multi-trial Neural Architecture Search (NAS).
	//   "GRID_SEARCH" - The Grid Search Algorithm for Multi-trial Neural
	// Architecture Search (NAS).
	MultiTrialAlgorithm string `json:"multiTrialAlgorithm,omitempty"`
	// SearchTrialSpec: Required. Spec for search trials.
	SearchTrialSpec *GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec `json:"searchTrialSpec,omitempty"`
	// TrainTrialSpec: Spec for train trials. Top N
	// [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for
	// every M [TrainTrialSpec.frequency] trials searched.
	TrainTrialSpec *GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec `json:"trainTrialSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Metric") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Metric") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec:
// Represents a metric to optimize.
type GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec struct {
	// Goal: Required. The optimization goal of the metric.
	//
	// Possible values:
	//   "GOAL_TYPE_UNSPECIFIED" - Goal Type will default to maximize.
	//   "MAXIMIZE" - Maximize the goal metric.
	//   "MINIMIZE" - Minimize the goal metric.
	Goal string `json:"goal,omitempty"`
	// MetricId: Required. The ID of the metric. Must not contain whitespaces.
	MetricId string `json:"metricId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Goal") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Goal") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec:
// Represent spec for search trials.
type GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec struct {
	// MaxFailedTrialCount: 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 int64 `json:"maxFailedTrialCount,omitempty"`
	// MaxParallelTrialCount: Required. The maximum number of trials to run in
	// parallel.
	MaxParallelTrialCount int64 `json:"maxParallelTrialCount,omitempty"`
	// MaxTrialCount: Required. The maximum number of Neural Architecture Search
	// (NAS) trials to run.
	MaxTrialCount int64 `json:"maxTrialCount,omitempty"`
	// SearchTrialJobSpec: Required. The spec of a search trial job. The same spec
	// applies to all search trials.
	SearchTrialJobSpec *GoogleCloudAiplatformV1CustomJobSpec `json:"searchTrialJobSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxFailedTrialCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxFailedTrialCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec:
// Represent spec for train trials.
type GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec struct {
	// Frequency: 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 int64 `json:"frequency,omitempty"`
	// MaxParallelTrialCount: Required. The maximum number of trials to run in
	// parallel.
	MaxParallelTrialCount int64 `json:"maxParallelTrialCount,omitempty"`
	// TrainTrialJobSpec: Required. The spec of a train trial job. The same spec
	// applies to all train trials.
	TrainTrialJobSpec *GoogleCloudAiplatformV1CustomJobSpec `json:"trainTrialJobSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Frequency") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Frequency") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasTrial: Represents a uCAIP NasJob trial.
type GoogleCloudAiplatformV1NasTrial struct {
	// EndTime: Output only. Time when the NasTrial's status changed to `SUCCEEDED`
	// or `INFEASIBLE`.
	EndTime string `json:"endTime,omitempty"`
	// FinalMeasurement: Output only. The final measurement containing the
	// objective value.
	FinalMeasurement *GoogleCloudAiplatformV1Measurement `json:"finalMeasurement,omitempty"`
	// Id: Output only. The identifier of the NasTrial assigned by the service.
	Id string `json:"id,omitempty"`
	// StartTime: Output only. Time when the NasTrial was started.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the NasTrial.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - The NasTrial state is unspecified.
	//   "REQUESTED" - Indicates that a specific NasTrial has been requested, but
	// it has not yet been suggested by the service.
	//   "ACTIVE" - Indicates that the NasTrial has been suggested.
	//   "STOPPING" - Indicates that the NasTrial should stop according to the
	// service.
	//   "SUCCEEDED" - Indicates that the NasTrial is completed successfully.
	//   "INFEASIBLE" - 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.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasTrial) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasTrial
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NasTrialDetail: Represents a NasTrial details along
// with its parameters. If there is a corresponding train NasTrial, the train
// NasTrial is also returned.
type GoogleCloudAiplatformV1NasTrialDetail struct {
	// Name: Output only. Resource name of the NasTrialDetail.
	Name string `json:"name,omitempty"`
	// Parameters: The parameters for the NasJob NasTrial.
	Parameters string `json:"parameters,omitempty"`
	// SearchTrial: The requested search NasTrial.
	SearchTrial *GoogleCloudAiplatformV1NasTrial `json:"searchTrial,omitempty"`
	// TrainTrial: The train NasTrial corresponding to search_trial. Only populated
	// if search_trial is used for training.
	TrainTrial *GoogleCloudAiplatformV1NasTrial `json:"trainTrial,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NasTrialDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasTrialDetail
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NearestNeighborQuery: A query to find a number of
// similar entities.
type GoogleCloudAiplatformV1NearestNeighborQuery struct {
	// Embedding: Optional. The embedding vector that be used for similar search.
	Embedding *GoogleCloudAiplatformV1NearestNeighborQueryEmbedding `json:"embedding,omitempty"`
	// EntityId: 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 `json:"entityId,omitempty"`
	// NeighborCount: Optional. The number of similar entities to be retrieved from
	// feature view for each query.
	NeighborCount int64 `json:"neighborCount,omitempty"`
	// NumericFilters: Optional. The list of numeric filters.
	NumericFilters []*GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter `json:"numericFilters,omitempty"`
	// Parameters: Optional. Parameters that can be set to tune query on the fly.
	Parameters *GoogleCloudAiplatformV1NearestNeighborQueryParameters `json:"parameters,omitempty"`
	// PerCrowdingAttributeNeighborCount: 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 int64 `json:"perCrowdingAttributeNeighborCount,omitempty"`
	// StringFilters: Optional. The list of string filters.
	StringFilters []*GoogleCloudAiplatformV1NearestNeighborQueryStringFilter `json:"stringFilters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Embedding") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Embedding") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborQuery) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQuery
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NearestNeighborQueryEmbedding: The embedding vector.
type GoogleCloudAiplatformV1NearestNeighborQueryEmbedding struct {
	// Value: Optional. Individual value in the embedding.
	Value []float64 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Value") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborQueryEmbedding) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQueryEmbedding
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1NearestNeighborQueryEmbedding) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQueryEmbedding
	var s1 struct {
		Value []gensupport.JSONFloat64 `json:"value"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Value = make([]float64, len(s1.Value))
	for i := range s1.Value {
		s.Value[i] = float64(s1.Value[i])
	}
	return nil
}

// GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter: Numeric filter is
// used to search a subset of the entities by using boolean rules on numeric
// columns. For example: Database Point 0: {name: "a" value_int: 42} {name: "b"
// value_float: 1.0} Database Point 1: {name: "a" value_int: 10} {name: "b"
// value_float: 2.0} Database Point 2: {name: "a" value_int: -1} {name: "b"
// value_float: 3.0} Query: {name: "a" value_int: 12 operator: LESS} // Matches
// Point 1, 2 {name: "b" value_float: 2.0 operator: EQUAL} // Matches Point 1
type GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter struct {
	// Name: Required. Column name in BigQuery that used as filters.
	Name string `json:"name,omitempty"`
	// Op: Optional. This MUST be specified for queries and must NOT be specified
	// for database points.
	//
	// Possible values:
	//   "OPERATOR_UNSPECIFIED" - Unspecified operator.
	//   "LESS" - Entities are eligible if their value is < the query's.
	//   "LESS_EQUAL" - Entities are eligible if their value is <= the query's.
	//   "EQUAL" - Entities are eligible if their value is == the query's.
	//   "GREATER_EQUAL" - Entities are eligible if their value is >= the query's.
	//   "GREATER" - Entities are eligible if their value is > the query's.
	//   "NOT_EQUAL" - Entities are eligible if their value is != the query's.
	Op string `json:"op,omitempty"`
	// ValueDouble: double value type.
	ValueDouble float64 `json:"valueDouble,omitempty"`
	// ValueFloat: float value type.
	ValueFloat float64 `json:"valueFloat,omitempty"`
	// ValueInt: int value type.
	ValueInt int64 `json:"valueInt,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter
	var s1 struct {
		ValueDouble gensupport.JSONFloat64 `json:"valueDouble"`
		ValueFloat  gensupport.JSONFloat64 `json:"valueFloat"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ValueDouble = float64(s1.ValueDouble)
	s.ValueFloat = float64(s1.ValueFloat)
	return nil
}

// GoogleCloudAiplatformV1NearestNeighborQueryParameters: Parameters that can
// be overrided in each query to tune query latency and recall.
type GoogleCloudAiplatformV1NearestNeighborQueryParameters struct {
	// ApproximateNeighborCandidates: Optional. The number of neighbors to find via
	// approximate search before exact reordering is performed; if set, this value
	// must be > neighbor_count.
	ApproximateNeighborCandidates int64 `json:"approximateNeighborCandidates,omitempty"`
	// LeafNodesSearchFraction: 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 `json:"leafNodesSearchFraction,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "ApproximateNeighborCandidates") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApproximateNeighborCandidates")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborQueryParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQueryParameters
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1NearestNeighborQueryParameters) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQueryParameters
	var s1 struct {
		LeafNodesSearchFraction gensupport.JSONFloat64 `json:"leafNodesSearchFraction"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.LeafNodesSearchFraction = float64(s1.LeafNodesSearchFraction)
	return nil
}

// GoogleCloudAiplatformV1NearestNeighborQueryStringFilter: 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 GoogleCloudAiplatformV1NearestNeighborQueryStringFilter struct {
	// AllowTokens: Optional. The allowed tokens.
	AllowTokens []string `json:"allowTokens,omitempty"`
	// DenyTokens: Optional. The denied tokens.
	DenyTokens []string `json:"denyTokens,omitempty"`
	// Name: Required. Column names in BigQuery that used as filters.
	Name string `json:"name,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllowTokens") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllowTokens") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborQueryStringFilter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborQueryStringFilter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata: Runtime
// operation metadata with regard to Matching Engine Index.
type GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata struct {
	// ContentValidationStats: 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. 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 []*GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats `json:"contentValidationStats,omitempty"`
	// DataBytesCount: The ingested data size in bytes.
	DataBytesCount int64 `json:"dataBytesCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ContentValidationStats") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentValidationStats") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats struct {
	// InvalidRecordCount: Number of records in this file we skipped due to
	// validate errors.
	InvalidRecordCount int64 `json:"invalidRecordCount,omitempty,string"`
	// InvalidSparseRecordCount: Number of sparse records in this file we skipped
	// due to validate errors.
	InvalidSparseRecordCount int64 `json:"invalidSparseRecordCount,omitempty,string"`
	// PartialErrors: 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 []*GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError `json:"partialErrors,omitempty"`
	// SourceGcsUri: Cloud Storage URI pointing to the original file in user's
	// bucket.
	SourceGcsUri string `json:"sourceGcsUri,omitempty"`
	// ValidRecordCount: Number of records in this file that were successfully
	// processed.
	ValidRecordCount int64 `json:"validRecordCount,omitempty,string"`
	// ValidSparseRecordCount: Number of sparse records in this file that were
	// successfully processed.
	ValidSparseRecordCount int64 `json:"validSparseRecordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "InvalidRecordCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InvalidRecordCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError struct {
	// EmbeddingId: Empty if the embedding id is failed to parse.
	EmbeddingId string `json:"embeddingId,omitempty"`
	// ErrorMessage: 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 `json:"errorMessage,omitempty"`
	// ErrorType: The error type of this record.
	//
	// Possible values:
	//   "ERROR_TYPE_UNSPECIFIED" - Default, shall not be used.
	//   "EMPTY_LINE" - The record is empty.
	//   "INVALID_JSON_SYNTAX" - Invalid json format.
	//   "INVALID_CSV_SYNTAX" - Invalid csv format.
	//   "INVALID_AVRO_SYNTAX" - Invalid avro format.
	//   "INVALID_EMBEDDING_ID" - The embedding id is not valid.
	//   "EMBEDDING_SIZE_MISMATCH" - The size of the dense embedding vectors does
	// not match with the specified dimension.
	//   "NAMESPACE_MISSING" - The `namespace` field is missing.
	//   "PARSING_ERROR" - Generic catch-all error. Only used for validation
	// failure where the root cause cannot be easily retrieved programmatically.
	//   "DUPLICATE_NAMESPACE" - There are multiple restricts with the same
	// `namespace` value.
	//   "OP_IN_DATAPOINT" - Numeric restrict has operator specified in datapoint.
	//   "MULTIPLE_VALUES" - Numeric restrict has multiple values specified.
	//   "INVALID_NUMERIC_VALUE" - Numeric restrict has invalid numeric value
	// specified.
	//   "INVALID_ENCODING" - File is not in UTF_8 format.
	//   "INVALID_SPARSE_DIMENSIONS" - Error parsing sparse dimensions field.
	//   "INVALID_TOKEN_VALUE" - Token restrict value is invalid.
	//   "INVALID_SPARSE_EMBEDDING" - Invalid sparse embedding.
	//   "INVALID_EMBEDDING" - Invalid dense embedding.
	//   "INVALID_EMBEDDING_METADATA" - Invalid embedding metadata.
	//   "EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT" - Embedding metadata exceeds size
	// limit.
	ErrorType string `json:"errorType,omitempty"`
	// RawRecord: The original content of this record.
	RawRecord string `json:"rawRecord,omitempty"`
	// SourceGcsUri: Cloud Storage URI pointing to the original file in user's
	// bucket.
	SourceGcsUri string `json:"sourceGcsUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EmbeddingId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EmbeddingId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NearestNeighbors: Nearest neighbors for one query.
type GoogleCloudAiplatformV1NearestNeighbors struct {
	// Neighbors: All its neighbors.
	Neighbors []*GoogleCloudAiplatformV1NearestNeighborsNeighbor `json:"neighbors,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Neighbors") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Neighbors") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighbors) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighbors
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NearestNeighborsNeighbor: A neighbor of the query
// vector.
type GoogleCloudAiplatformV1NearestNeighborsNeighbor struct {
	// Distance: The distance between the neighbor and the query vector.
	Distance float64 `json:"distance,omitempty"`
	// EntityId: The id of the similar entity.
	EntityId string `json:"entityId,omitempty"`
	// EntityKeyValues: 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 *GoogleCloudAiplatformV1FetchFeatureValuesResponse `json:"entityKeyValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Distance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Distance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NearestNeighborsNeighbor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborsNeighbor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1NearestNeighborsNeighbor) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborsNeighbor
	var s1 struct {
		Distance gensupport.JSONFloat64 `json:"distance"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Distance = float64(s1.Distance)
	return nil
}

// GoogleCloudAiplatformV1Neighbor: Neighbors for example-based explanations.
type GoogleCloudAiplatformV1Neighbor struct {
	// NeighborDistance: Output only. The neighbor distance.
	NeighborDistance float64 `json:"neighborDistance,omitempty"`
	// NeighborId: Output only. The neighbor id.
	NeighborId string `json:"neighborId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NeighborDistance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NeighborDistance") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Neighbor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Neighbor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Neighbor) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Neighbor
	var s1 struct {
		NeighborDistance gensupport.JSONFloat64 `json:"neighborDistance"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.NeighborDistance = float64(s1.NeighborDistance)
	return nil
}

// GoogleCloudAiplatformV1NetworkSpec: Network spec.
type GoogleCloudAiplatformV1NetworkSpec struct {
	// EnableInternetAccess: Whether to enable public internet access. Default
	// false.
	EnableInternetAccess bool `json:"enableInternetAccess,omitempty"`
	// Network: The full name of the Google Compute Engine network
	// (https://cloud.google.com//compute/docs/networks-and-firewalls#networks)
	Network string `json:"network,omitempty"`
	// Subnetwork: The name of the subnet that this instance is in. Format:
	// `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
	// `
	Subnetwork string `json:"subnetwork,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnableInternetAccess") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnableInternetAccess") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NetworkSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NetworkSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NfsMount: Represents a mount configuration for
// Network File System (NFS) to mount.
type GoogleCloudAiplatformV1NfsMount struct {
	// MountPoint: Required. Destination mount path. The NFS will be mounted for
	// the user under /mnt/nfs/
	MountPoint string `json:"mountPoint,omitempty"`
	// Path: 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 `json:"path,omitempty"`
	// Server: Required. IP address of the NFS server.
	Server string `json:"server,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MountPoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MountPoint") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NfsMount) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NfsMount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookEucConfig: The euc configuration of
// NotebookRuntimeTemplate.
type GoogleCloudAiplatformV1NotebookEucConfig struct {
	// BypassActasCheck: Output only. Whether ActAs check is bypassed for service
	// account attached to the VM. If false, we need ActAs check for the default
	// Compute Engine Service account. When a Runtime is created, a VM is allocated
	// using Default Compute Engine Service Account. Any user requesting to use
	// this Runtime requires Service Account User (ActAs) permission over this SA.
	// If true, Runtime owner is using EUC and does not require the above
	// permission as VM no longer use default Compute Engine SA, but a P4SA.
	BypassActasCheck bool `json:"bypassActasCheck,omitempty"`
	// EucDisabled: Input only. Whether EUC is disabled in this
	// NotebookRuntimeTemplate. In proto3, the default value of a boolean is false.
	// In this way, by default EUC will be enabled for NotebookRuntimeTemplate.
	EucDisabled bool `json:"eucDisabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BypassActasCheck") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BypassActasCheck") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookEucConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookEucConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookExecutionJob: NotebookExecutionJob represents
// an instance of a notebook execution.
type GoogleCloudAiplatformV1NotebookExecutionJob struct {
	// CreateTime: Output only. Timestamp when this NotebookExecutionJob was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// CustomEnvironmentSpec: The custom compute configuration for an execution
	// job.
	CustomEnvironmentSpec *GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec `json:"customEnvironmentSpec,omitempty"`
	// DataformRepositorySource: The Dataform Repository pointing to a single file
	// notebook repository.
	DataformRepositorySource *GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource `json:"dataformRepositorySource,omitempty"`
	// DirectNotebookSource: The contents of an input notebook file.
	DirectNotebookSource *GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource `json:"directNotebookSource,omitempty"`
	// DisplayName: The display name of the NotebookExecutionJob. The name can be
	// up to 128 characters long and can consist of any UTF-8 characters.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: Customer-managed encryption key spec for the notebook
	// execution job. This field is auto-populated if the NotebookRuntimeTemplate
	// has an encryption spec.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// ExecutionTimeout: Max running time of the execution job in seconds (default
	// 86400s / 24 hrs).
	ExecutionTimeout string `json:"executionTimeout,omitempty"`
	// ExecutionUser: The user email to run the execution as. Only supported by
	// Colab runtimes.
	ExecutionUser string `json:"executionUser,omitempty"`
	// GcsNotebookSource: The Cloud Storage url pointing to the ipynb file. Format:
	// `gs://bucket/notebook_file.ipynb`
	GcsNotebookSource *GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource `json:"gcsNotebookSource,omitempty"`
	// GcsOutputUri: The Cloud Storage location to upload the result to. Format:
	// `gs://bucket-name`
	GcsOutputUri string `json:"gcsOutputUri,omitempty"`
	// JobState: Output only. The state of the NotebookExecutionJob.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	JobState string `json:"jobState,omitempty"`
	// KernelName: The name of the kernel to use during notebook execution. If
	// unset, the default kernel is used.
	KernelName string `json:"kernelName,omitempty"`
	// Labels: The labels with user-defined metadata to organize
	// NotebookExecutionJobs. 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.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Output only. The resource name of this NotebookExecutionJob. Format:
	// `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}`
	Name string `json:"name,omitempty"`
	// NotebookRuntimeTemplateResourceName: The NotebookRuntimeTemplate to source
	// compute configuration from.
	NotebookRuntimeTemplateResourceName string `json:"notebookRuntimeTemplateResourceName,omitempty"`
	// ScheduleResourceName: The Schedule resource name if this job is triggered by
	// one. Format:
	// `projects/{project_id}/locations/{location}/schedules/{schedule_id}`
	ScheduleResourceName string `json:"scheduleResourceName,omitempty"`
	// ServiceAccount: The service account to run the execution as.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// Status: Output only. Populated when the NotebookExecutionJob is completed.
	// When there is an error during notebook execution, the error details are
	// populated.
	Status *GoogleRpcStatus `json:"status,omitempty"`
	// UpdateTime: Output only. Timestamp when this NotebookExecutionJob was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// WorkbenchRuntime: The Workbench runtime configuration to use for the
	// notebook execution.
	WorkbenchRuntime *GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime `json:"workbenchRuntime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookExecutionJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookExecutionJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec: Compute
// configuration to use for an execution job.
type GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec struct {
	// MachineSpec: The specification of a single machine for the execution job.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// NetworkSpec: The network configuration to use for the execution job.
	NetworkSpec *GoogleCloudAiplatformV1NetworkSpec `json:"networkSpec,omitempty"`
	// PersistentDiskSpec: The specification of a persistent disk to attach for the
	// execution job.
	PersistentDiskSpec *GoogleCloudAiplatformV1PersistentDiskSpec `json:"persistentDiskSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MachineSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MachineSpec") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource: The
// Dataform Repository containing the input notebook.
type GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource struct {
	// CommitSha: The commit SHA to read repository with. If unset, the file will
	// be read at HEAD.
	CommitSha string `json:"commitSha,omitempty"`
	// DataformRepositoryResourceName: The resource name of the Dataform
	// Repository. Format:
	// `projects/{project_id}/locations/{location}/repositories/{repository_id}`
	DataformRepositoryResourceName string `json:"dataformRepositoryResourceName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CommitSha") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CommitSha") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource: The content
// of the input notebook in ipynb format.
type GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource struct {
	// Content: The base64-encoded contents of the input notebook file.
	Content string `json:"content,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource: The Cloud
// Storage uri for the input notebook.
type GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource struct {
	// Generation: The version of the Cloud Storage object to read. If unset, the
	// current version of the object is read. See
	// https://cloud.google.com/storage/docs/metadata#generation-number.
	Generation string `json:"generation,omitempty"`
	// Uri: The Cloud Storage uri pointing to the ipynb file. Format:
	// `gs://bucket/notebook_file.ipynb`
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Generation") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Generation") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime: Configuration
// for a Workbench Instances-based environment.
type GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime struct {
}

// GoogleCloudAiplatformV1NotebookIdleShutdownConfig: The idle shutdown
// configuration of NotebookRuntimeTemplate, which contains the idle_timeout as
// required field.
type GoogleCloudAiplatformV1NotebookIdleShutdownConfig struct {
	// IdleShutdownDisabled: Whether Idle Shutdown is disabled in this
	// NotebookRuntimeTemplate.
	IdleShutdownDisabled bool `json:"idleShutdownDisabled,omitempty"`
	// IdleTimeout: Required. Duration is accurate to the second. In Notebook, Idle
	// Timeout is accurate to minute so the range of idle_timeout (second) is: 10 *
	// 60 ~ 1440 * 60.
	IdleTimeout string `json:"idleTimeout,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IdleShutdownDisabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IdleShutdownDisabled") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookIdleShutdownConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookIdleShutdownConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookReservationAffinity: Notebook Reservation
// Affinity for consuming Zonal reservation.
type GoogleCloudAiplatformV1NotebookReservationAffinity struct {
	// ConsumeReservationType: Required. Specifies the type of reservation from
	// which this instance can consume resources: RESERVATION_ANY (default),
	// RESERVATION_SPECIFIC, or RESERVATION_NONE. See Consuming reserved instances
	// for examples.
	//
	// Possible values:
	//   "RESERVATION_AFFINITY_TYPE_UNSPECIFIED" - Default type.
	//   "RESERVATION_NONE" - Do not consume from any allocated capacity.
	//   "RESERVATION_ANY" - Consume any reservation available.
	//   "RESERVATION_SPECIFIC" - Must consume from a specific reservation. Must
	// specify key value fields for specifying the reservations.
	ConsumeReservationType string `json:"consumeReservationType,omitempty"`
	// Key: Optional. Corresponds to the label key of a reservation resource. To
	// target a RESERVATION_SPECIFIC by name, use
	// compute.googleapis.com/reservation-name as the key and specify the name of
	// your reservation as its value.
	Key string `json:"key,omitempty"`
	// Values: Optional. Corresponds to the label values of a reservation resource.
	// This must be the full path name of Reservation.
	Values []string `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConsumeReservationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConsumeReservationType") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookReservationAffinity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookReservationAffinity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookRuntime: A runtime is a virtual machine
// allocated to a particular user for a particular Notebook file on temporary
// basis with lifetime. Default runtimes have a lifetime of 18 hours, while
// custom runtimes last for 6 months from their creation or last upgrade.
type GoogleCloudAiplatformV1NotebookRuntime struct {
	// CreateTime: Output only. Timestamp when this NotebookRuntime was created.
	CreateTime string `json:"createTime,omitempty"`
	// DataPersistentDiskSpec: Output only. The specification of persistent disk
	// attached to the notebook runtime as data disk storage.
	DataPersistentDiskSpec *GoogleCloudAiplatformV1PersistentDiskSpec `json:"dataPersistentDiskSpec,omitempty"`
	// Description: The description of the NotebookRuntime.
	Description string `json:"description,omitempty"`
	// DisplayName: Required. The display name of the NotebookRuntime. The name can
	// be up to 128 characters long and can consist of any UTF-8 characters.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: Output only. Customer-managed encryption key spec for the
	// notebook runtime.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EucConfig: Output only. EUC configuration of the notebook runtime.
	EucConfig *GoogleCloudAiplatformV1NotebookEucConfig `json:"eucConfig,omitempty"`
	// ExpirationTime: Output only. Timestamp when this NotebookRuntime will be
	// expired: 1. System Predefined NotebookRuntime: 24 hours after creation.
	// After expiration, system predifined runtime will be deleted. 2. User created
	// NotebookRuntime: 6 months after last upgrade. After expiration, user created
	// runtime will be stopped and allowed for upgrade.
	ExpirationTime string `json:"expirationTime,omitempty"`
	// HealthState: Output only. The health state of the NotebookRuntime.
	//
	// Possible values:
	//   "HEALTH_STATE_UNSPECIFIED" - Unspecified health state.
	//   "HEALTHY" - NotebookRuntime is in healthy state. Applies to ACTIVE state.
	//   "UNHEALTHY" - NotebookRuntime is in unhealthy state. Applies to ACTIVE
	// state.
	HealthState string `json:"healthState,omitempty"`
	// IdleShutdownConfig: Output only. The idle shutdown configuration of the
	// notebook runtime.
	IdleShutdownConfig *GoogleCloudAiplatformV1NotebookIdleShutdownConfig `json:"idleShutdownConfig,omitempty"`
	// IsUpgradable: Output only. Whether NotebookRuntime is upgradable.
	IsUpgradable bool `json:"isUpgradable,omitempty"`
	// Labels: The labels with user-defined metadata to organize your
	// NotebookRuntime. 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 NotebookRuntime (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 NotebookRuntime: *
	// "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output only,
	// its value is the Compute Engine instance id. *
	// "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is
	// either "bigquery" or "vertex"; if absent, it should be "vertex". This is to
	// describe the entry service, either BigQuery or Vertex.
	Labels map[string]string `json:"labels,omitempty"`
	// MachineSpec: Output only. The specification of a single machine used by the
	// notebook runtime.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// Name: Output only. The resource name of the NotebookRuntime.
	Name string `json:"name,omitempty"`
	// NetworkSpec: Output only. Network spec of the notebook runtime.
	NetworkSpec *GoogleCloudAiplatformV1NetworkSpec `json:"networkSpec,omitempty"`
	// NetworkTags: Optional. The Compute Engine tags to add to runtime (see
	// Tagging instances
	// (https://cloud.google.com/vpc/docs/add-remove-network-tags)).
	NetworkTags []string `json:"networkTags,omitempty"`
	// NotebookRuntimeTemplateRef: Output only. The pointer to
	// NotebookRuntimeTemplate this NotebookRuntime is created from.
	NotebookRuntimeTemplateRef *GoogleCloudAiplatformV1NotebookRuntimeTemplateRef `json:"notebookRuntimeTemplateRef,omitempty"`
	// NotebookRuntimeType: Output only. The type of the notebook runtime.
	//
	// Possible values:
	//   "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED" - Unspecified notebook runtime type,
	// NotebookRuntimeType will default to USER_DEFINED.
	//   "USER_DEFINED" - runtime or template with coustomized configurations from
	// user.
	//   "ONE_CLICK" - runtime or template with system defined configurations.
	NotebookRuntimeType string `json:"notebookRuntimeType,omitempty"`
	// ProxyUri: Output only. The proxy endpoint used to access the
	// NotebookRuntime.
	ProxyUri string `json:"proxyUri,omitempty"`
	// ReservationAffinity: Output only. Reservation Affinity of the notebook
	// runtime.
	ReservationAffinity *GoogleCloudAiplatformV1NotebookReservationAffinity `json:"reservationAffinity,omitempty"`
	// RuntimeState: Output only. The runtime (instance) state of the
	// NotebookRuntime.
	//
	// Possible values:
	//   "RUNTIME_STATE_UNSPECIFIED" - Unspecified runtime state.
	//   "RUNNING" - NotebookRuntime is in running state.
	//   "BEING_STARTED" - NotebookRuntime is in starting state. This is when the
	// runtime is being started from a stopped state.
	//   "BEING_STOPPED" - NotebookRuntime is in stopping state.
	//   "STOPPED" - NotebookRuntime is in stopped state.
	//   "BEING_UPGRADED" - NotebookRuntime is in upgrading state. It is in the
	// middle of upgrading process.
	//   "ERROR" - NotebookRuntime was unable to start/stop properly.
	//   "INVALID" - NotebookRuntime is in invalid state. Cannot be recovered.
	RuntimeState string `json:"runtimeState,omitempty"`
	// RuntimeUser: Required. The user email of the NotebookRuntime.
	RuntimeUser string `json:"runtimeUser,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// ServiceAccount: Output only. Deprecated: This field is no longer used and
	// the "Vertex AI Notebook Service Account"
	// (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is
	// used for the runtime workload identity. See
	// https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account
	// for more details. The service account that the NotebookRuntime workload runs
	// as.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// ShieldedVmConfig: Output only. Runtime Shielded VM spec.
	ShieldedVmConfig *GoogleCloudAiplatformV1ShieldedVmConfig `json:"shieldedVmConfig,omitempty"`
	// SoftwareConfig: Output only. Software config of the notebook runtime.
	SoftwareConfig *GoogleCloudAiplatformV1NotebookSoftwareConfig `json:"softwareConfig,omitempty"`
	// UpdateTime: Output only. Timestamp when this NotebookRuntime was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// Version: Output only. The VM os image version of NotebookRuntime.
	Version string `json:"version,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookRuntime) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookRuntime
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookRuntimeTemplate: A template that specifies
// runtime configurations such as machine type, runtime version, network
// configurations, etc. Multiple runtimes can be created from a runtime
// template.
type GoogleCloudAiplatformV1NotebookRuntimeTemplate struct {
	// CreateTime: Output only. Timestamp when this NotebookRuntimeTemplate was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// DataPersistentDiskSpec: Optional. The specification of persistent disk
	// attached to the runtime as data disk storage.
	DataPersistentDiskSpec *GoogleCloudAiplatformV1PersistentDiskSpec `json:"dataPersistentDiskSpec,omitempty"`
	// Description: The description of the NotebookRuntimeTemplate.
	Description string `json:"description,omitempty"`
	// DisplayName: Required. The display name of the NotebookRuntimeTemplate. The
	// name can be up to 128 characters long and can consist of any UTF-8
	// characters.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: Customer-managed encryption key spec for the notebook
	// runtime.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// EucConfig: EUC configuration of the NotebookRuntimeTemplate.
	EucConfig *GoogleCloudAiplatformV1NotebookEucConfig `json:"eucConfig,omitempty"`
	// IdleShutdownConfig: The idle shutdown configuration of
	// NotebookRuntimeTemplate. This config will only be set when idle shutdown is
	// enabled.
	IdleShutdownConfig *GoogleCloudAiplatformV1NotebookIdleShutdownConfig `json:"idleShutdownConfig,omitempty"`
	// IsDefault: Output only. Deprecated: This field has no behavior. Use
	// notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if
	// not specified.
	IsDefault bool `json:"isDefault,omitempty"`
	// Labels: The labels with user-defined metadata to organize the
	// NotebookRuntimeTemplates. 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 `json:"labels,omitempty"`
	// MachineSpec: Optional. Immutable. The specification of a single machine for
	// the template.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// Name: The resource name of the NotebookRuntimeTemplate.
	Name string `json:"name,omitempty"`
	// NetworkSpec: Optional. Network spec.
	NetworkSpec *GoogleCloudAiplatformV1NetworkSpec `json:"networkSpec,omitempty"`
	// NetworkTags: Optional. The Compute Engine tags to add to runtime (see
	// Tagging instances
	// (https://cloud.google.com/vpc/docs/add-remove-network-tags)).
	NetworkTags []string `json:"networkTags,omitempty"`
	// NotebookRuntimeType: Optional. Immutable. The type of the notebook runtime
	// template.
	//
	// Possible values:
	//   "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED" - Unspecified notebook runtime type,
	// NotebookRuntimeType will default to USER_DEFINED.
	//   "USER_DEFINED" - runtime or template with coustomized configurations from
	// user.
	//   "ONE_CLICK" - runtime or template with system defined configurations.
	NotebookRuntimeType string `json:"notebookRuntimeType,omitempty"`
	// ReservationAffinity: Optional. Reservation Affinity of the notebook runtime
	// template.
	ReservationAffinity *GoogleCloudAiplatformV1NotebookReservationAffinity `json:"reservationAffinity,omitempty"`
	// ServiceAccount: Deprecated: This field is ignored and the "Vertex AI
	// Notebook Service Account"
	// (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is
	// used for the runtime workload identity. See
	// https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account
	// for more details. For NotebookExecutionJob, use
	// NotebookExecutionJob.service_account instead. The service account that the
	// runtime workload runs as. You can use any service account within the same
	// project, but you must have the service account user permission to use the
	// instance. If not specified, the Compute Engine default service account
	// (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
	// is used.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// ShieldedVmConfig: Optional. Immutable. Runtime Shielded VM spec.
	ShieldedVmConfig *GoogleCloudAiplatformV1ShieldedVmConfig `json:"shieldedVmConfig,omitempty"`
	// SoftwareConfig: Optional. The notebook software configuration of the
	// notebook runtime.
	SoftwareConfig *GoogleCloudAiplatformV1NotebookSoftwareConfig `json:"softwareConfig,omitempty"`
	// UpdateTime: Output only. Timestamp when this NotebookRuntimeTemplate was
	// most recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookRuntimeTemplate) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookRuntimeTemplate
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookRuntimeTemplateRef: Points to a
// NotebookRuntimeTemplateRef.
type GoogleCloudAiplatformV1NotebookRuntimeTemplateRef struct {
	// NotebookRuntimeTemplate: Immutable. A resource name of the
	// NotebookRuntimeTemplate.
	NotebookRuntimeTemplate string `json:"notebookRuntimeTemplate,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NotebookRuntimeTemplate") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NotebookRuntimeTemplate") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookRuntimeTemplateRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookRuntimeTemplateRef
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1NotebookSoftwareConfig: Notebook Software Config.
// This is passed to the backend when user makes software configurations in UI.
type GoogleCloudAiplatformV1NotebookSoftwareConfig struct {
	// ColabImage: Optional. Google-managed NotebookRuntime colab image.
	ColabImage *GoogleCloudAiplatformV1ColabImage `json:"colabImage,omitempty"`
	// Env: Optional. Environment variables to be passed to the container. Maximum
	// limit is 100.
	Env []*GoogleCloudAiplatformV1EnvVar `json:"env,omitempty"`
	// PostStartupScriptConfig: Optional. Post startup script config.
	PostStartupScriptConfig *GoogleCloudAiplatformV1PostStartupScriptConfig `json:"postStartupScriptConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColabImage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColabImage") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1NotebookSoftwareConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookSoftwareConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1OutputConfig: Config for evaluation output.
type GoogleCloudAiplatformV1OutputConfig struct {
	// GcsDestination: Cloud storage destination for evaluation output.
	GcsDestination *GoogleCloudAiplatformV1GcsDestination `json:"gcsDestination,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsDestination") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1OutputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1OutputConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1OutputFieldSpec: Specifies the properties of a single
// field that are included in each generated synthetic example. This helps the
// model understand what kind of data to generate for each field.
type GoogleCloudAiplatformV1OutputFieldSpec struct {
	// FieldName: Required. The name of this field in the generated synthetic data,
	// such as "email_subject" or "customer_review".
	FieldName string `json:"fieldName,omitempty"`
	// FieldType: Optional. The data type of the field. Defaults to CONTENT if not
	// set.
	//
	// Possible values:
	//   "FIELD_TYPE_UNSPECIFIED" - The field type is not specified. Defaults to
	// CONTENT.
	//   "CONTENT" - The field can contain any type of content, including text,
	// images, and audio.
	//   "TEXT" - The field contains only text.
	//   "IMAGE" - The field contains image data.
	//   "AUDIO" - The field contains audio data.
	FieldType string `json:"fieldType,omitempty"`
	// Guidance: Optional. Specific instructions for the large language model on
	// how to generate content for this particular field. While the LLM can
	// sometimes infer content from the field name, providing explicit guidance is
	// preferred. For example, for a field named "review", the guidance could be "A
	// positive review about a coffee maker."
	Guidance string `json:"guidance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FieldName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FieldName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1OutputFieldSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1OutputFieldSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1OutputInfo: Describes the info for output of
// EvaluationService.
type GoogleCloudAiplatformV1OutputInfo struct {
	// GcsOutputDirectory: Output only. The full path of the Cloud Storage
	// directory created, into which the evaluation results and aggregation results
	// are written.
	GcsOutputDirectory string `json:"gcsOutputDirectory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsOutputDirectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsOutputDirectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1OutputInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1OutputInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PSCAutomationConfig: PSC config that is used to
// automatically create PSC endpoints in the user projects.
type GoogleCloudAiplatformV1PSCAutomationConfig struct {
	// ErrorMessage: Output only. Error message if the PSC service automation
	// failed.
	ErrorMessage string `json:"errorMessage,omitempty"`
	// ForwardingRule: Output only. Forwarding rule created by the PSC service
	// automation.
	ForwardingRule string `json:"forwardingRule,omitempty"`
	// IpAddress: Output only. IP address rule created by the PSC service
	// automation.
	IpAddress string `json:"ipAddress,omitempty"`
	// Network: Required. The full name of the Google Compute Engine network
	// (https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
	// Format
	// (https://cloud.google.com/compute/docs/reference/rest/v1/networks/get):
	// `projects/{project}/global/networks/{network}`.
	Network string `json:"network,omitempty"`
	// ProjectId: Required. Project id used to create forwarding rule.
	ProjectId string `json:"projectId,omitempty"`
	// State: Output only. The state of the PSC service automation.
	//
	// Possible values:
	//   "PSC_AUTOMATION_STATE_UNSPECIFIED" - Should not be used.
	//   "PSC_AUTOMATION_STATE_SUCCESSFUL" - The PSC service automation is
	// successful.
	//   "PSC_AUTOMATION_STATE_FAILED" - The PSC service automation has failed.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ErrorMessage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ErrorMessage") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PSCAutomationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PSCAutomationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseMetricInput: Input for pairwise metric.
type GoogleCloudAiplatformV1PairwiseMetricInput struct {
	// Instance: Required. Pairwise metric instance.
	Instance *GoogleCloudAiplatformV1PairwiseMetricInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for pairwise metric.
	MetricSpec *GoogleCloudAiplatformV1PairwiseMetricSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseMetricInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseMetricInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseMetricInstance: Pairwise metric instance.
// Usually one instance corresponds to one row in an evaluation dataset.
type GoogleCloudAiplatformV1PairwiseMetricInstance struct {
	// ContentMapInstance: Key-value contents for the mutlimodality input,
	// including text, image, video, audio, and pdf, etc. The key is placeholder in
	// metric prompt template, and the value is the multimodal content.
	ContentMapInstance *GoogleCloudAiplatformV1ContentMap `json:"contentMapInstance,omitempty"`
	// JsonInstance: Instance specified as a json string. String key-value pairs
	// are expected in the json_instance to render
	// PairwiseMetricSpec.instance_prompt_template.
	JsonInstance string `json:"jsonInstance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContentMapInstance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentMapInstance") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseMetricInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseMetricInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseMetricResult: Spec for pairwise metric
// result.
type GoogleCloudAiplatformV1PairwiseMetricResult struct {
	// CustomOutput: Output only. Spec for custom output.
	CustomOutput *GoogleCloudAiplatformV1CustomOutput `json:"customOutput,omitempty"`
	// Explanation: Output only. Explanation for pairwise metric score.
	Explanation string `json:"explanation,omitempty"`
	// PairwiseChoice: Output only. Pairwise metric choice.
	//
	// Possible values:
	//   "PAIRWISE_CHOICE_UNSPECIFIED" - Unspecified prediction choice.
	//   "BASELINE" - Baseline prediction wins
	//   "CANDIDATE" - Candidate prediction wins
	//   "TIE" - Winner cannot be determined
	PairwiseChoice string `json:"pairwiseChoice,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomOutput") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseMetricResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseMetricResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseMetricSpec: Spec for pairwise metric.
type GoogleCloudAiplatformV1PairwiseMetricSpec struct {
	// BaselineResponseFieldName: Optional. The field name of the baseline
	// response.
	BaselineResponseFieldName string `json:"baselineResponseFieldName,omitempty"`
	// CandidateResponseFieldName: Optional. The field name of the candidate
	// response.
	CandidateResponseFieldName string `json:"candidateResponseFieldName,omitempty"`
	// CustomOutputFormatConfig: Optional. CustomOutputFormatConfig allows
	// customization of metric output. When this config is set, the default output
	// is replaced with the raw output string. If a custom format is chosen, the
	// `pairwise_choice` and `explanation` fields in the corresponding metric
	// result will be empty.
	CustomOutputFormatConfig *GoogleCloudAiplatformV1CustomOutputFormatConfig `json:"customOutputFormatConfig,omitempty"`
	// MetricPromptTemplate: Required. Metric prompt template for pairwise metric.
	MetricPromptTemplate string `json:"metricPromptTemplate,omitempty"`
	// SystemInstruction: Optional. System instructions for pairwise metric.
	SystemInstruction string `json:"systemInstruction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaselineResponseFieldName")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaselineResponseFieldName") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput: Input for
// pairwise question answering quality metric.
type GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput struct {
	// Instance: Required. Pairwise question answering quality instance.
	Instance *GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for pairwise question answering quality score
	// metric.
	MetricSpec *GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance: Spec for
// pairwise question answering quality instance.
type GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance struct {
	// BaselinePrediction: Required. Output of the baseline model.
	BaselinePrediction string `json:"baselinePrediction,omitempty"`
	// Context: Required. Text to answer the question.
	Context string `json:"context,omitempty"`
	// Instruction: Required. Question Answering prompt for LLM.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the candidate model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaselinePrediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaselinePrediction") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult: Spec for
// pairwise question answering quality result.
type GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult struct {
	// Confidence: Output only. Confidence for question answering quality score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for question answering quality score.
	Explanation string `json:"explanation,omitempty"`
	// PairwiseChoice: Output only. Pairwise question answering prediction choice.
	//
	// Possible values:
	//   "PAIRWISE_CHOICE_UNSPECIFIED" - Unspecified prediction choice.
	//   "BASELINE" - Baseline prediction wins
	//   "CANDIDATE" - Candidate prediction wins
	//   "TIE" - Winner cannot be determined
	PairwiseChoice string `json:"pairwiseChoice,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	return nil
}

// GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec: Spec for
// pairwise question answering quality score metric.
type GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// question answering quality.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseSummarizationQualityInput: Input for pairwise
// summarization quality metric.
type GoogleCloudAiplatformV1PairwiseSummarizationQualityInput struct {
	// Instance: Required. Pairwise summarization quality instance.
	Instance *GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for pairwise summarization quality score metric.
	MetricSpec *GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseSummarizationQualityInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseSummarizationQualityInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance: Spec for
// pairwise summarization quality instance.
type GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance struct {
	// BaselinePrediction: Required. Output of the baseline model.
	BaselinePrediction string `json:"baselinePrediction,omitempty"`
	// Context: Required. Text to be summarized.
	Context string `json:"context,omitempty"`
	// Instruction: Required. Summarization prompt for LLM.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the candidate model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaselinePrediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaselinePrediction") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PairwiseSummarizationQualityResult: Spec for pairwise
// summarization quality result.
type GoogleCloudAiplatformV1PairwiseSummarizationQualityResult struct {
	// Confidence: Output only. Confidence for summarization quality score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for summarization quality score.
	Explanation string `json:"explanation,omitempty"`
	// PairwiseChoice: Output only. Pairwise summarization prediction choice.
	//
	// Possible values:
	//   "PAIRWISE_CHOICE_UNSPECIFIED" - Unspecified prediction choice.
	//   "BASELINE" - Baseline prediction wins
	//   "CANDIDATE" - Candidate prediction wins
	//   "TIE" - Winner cannot be determined
	PairwiseChoice string `json:"pairwiseChoice,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseSummarizationQualityResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseSummarizationQualityResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1PairwiseSummarizationQualityResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1PairwiseSummarizationQualityResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	return nil
}

// GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec: Spec for pairwise
// summarization quality score metric.
type GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// pairwise summarization quality.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Part: 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`. For media types that are not text, `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 GoogleCloudAiplatformV1Part struct {
	// CodeExecutionResult: Optional. The result of executing the ExecutableCode.
	CodeExecutionResult *GoogleCloudAiplatformV1CodeExecutionResult `json:"codeExecutionResult,omitempty"`
	// ExecutableCode: Optional. Code generated by the model that is intended to be
	// executed.
	ExecutableCode *GoogleCloudAiplatformV1ExecutableCode `json:"executableCode,omitempty"`
	// FileData: Optional. The URI-based data of the part. This can be used to
	// include files from Google Cloud Storage.
	FileData *GoogleCloudAiplatformV1FileData `json:"fileData,omitempty"`
	// FunctionCall: Optional. A predicted function call returned from the model.
	// This contains the name of the function to call and the arguments to pass to
	// the function.
	FunctionCall *GoogleCloudAiplatformV1FunctionCall `json:"functionCall,omitempty"`
	// FunctionResponse: Optional. The result of a function call. This is used to
	// provide the model with the result of a function call that it predicted.
	FunctionResponse *GoogleCloudAiplatformV1FunctionResponse `json:"functionResponse,omitempty"`
	// InlineData: Optional. The inline data content of the part. This can be used
	// to include images, audio, or video in a request.
	InlineData *GoogleCloudAiplatformV1Blob `json:"inlineData,omitempty"`
	// MediaResolution: per part media resolution. Media resolution for the input
	// media.
	MediaResolution *GoogleCloudAiplatformV1PartMediaResolution `json:"mediaResolution,omitempty"`
	// Text: Optional. The text content of the part. When sent from the VSCode
	// Gemini Code Assist extension, references to @mentioned items will be
	// converted to markdown boldface text. For example `@my-repo` will be
	// converted to and sent as `**my-repo**` by the IDE agent.
	Text string `json:"text,omitempty"`
	// Thought: Optional. Indicates whether the `part` represents the model's
	// thought process or reasoning.
	Thought bool `json:"thought,omitempty"`
	// ThoughtSignature: Optional. An opaque signature for the thought so it can be
	// reused in subsequent requests.
	ThoughtSignature string `json:"thoughtSignature,omitempty"`
	// VideoMetadata: Optional. Video metadata. The metadata should only be
	// specified while the video data is presented in inline_data or file_data.
	VideoMetadata *GoogleCloudAiplatformV1VideoMetadata `json:"videoMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CodeExecutionResult") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CodeExecutionResult") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Part) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Part
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PartMediaResolution: per part media resolution. Media
// resolution for the input media.
type GoogleCloudAiplatformV1PartMediaResolution struct {
	// Level: The tokenization quality used for given media.
	//
	// Possible values:
	//   "MEDIA_RESOLUTION_UNSPECIFIED" - Media resolution has not been set.
	//   "MEDIA_RESOLUTION_LOW" - Media resolution set to low.
	//   "MEDIA_RESOLUTION_MEDIUM" - Media resolution set to medium.
	//   "MEDIA_RESOLUTION_HIGH" - Media resolution set to high.
	//   "MEDIA_RESOLUTION_ULTRA_HIGH" - Media resolution set to ultra high. This
	// is for image only.
	Level string `json:"level,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Level") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Level") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PartMediaResolution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PartMediaResolution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PartialArg: Partial argument value of the function
// call.
type GoogleCloudAiplatformV1PartialArg struct {
	// BoolValue: Optional. Represents a boolean value.
	BoolValue bool `json:"boolValue,omitempty"`
	// JsonPath: Required. A JSON Path (RFC 9535) to the argument being streamed.
	// https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
	JsonPath string `json:"jsonPath,omitempty"`
	// NullValue: Optional. Represents a null value.
	//
	// Possible values:
	//   "NULL_VALUE" - Null value.
	NullValue string `json:"nullValue,omitempty"`
	// NumberValue: Optional. Represents a double value.
	NumberValue float64 `json:"numberValue,omitempty"`
	// StringValue: Optional. Represents a string value.
	StringValue string `json:"stringValue,omitempty"`
	// WillContinue: Optional. Whether this is not the last part of the same
	// json_path. If true, another PartialArg message for the current json_path is
	// expected to follow.
	WillContinue bool `json:"willContinue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BoolValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoolValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PartialArg) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PartialArg
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1PartialArg) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1PartialArg
	var s1 struct {
		NumberValue gensupport.JSONFloat64 `json:"numberValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.NumberValue = float64(s1.NumberValue)
	return nil
}

// GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest: Request
// message for JobService.PauseModelDeploymentMonitoringJob.
type GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest struct {
}

// GoogleCloudAiplatformV1PauseScheduleRequest: Request message for
// ScheduleService.PauseSchedule.
type GoogleCloudAiplatformV1PauseScheduleRequest struct {
}

// GoogleCloudAiplatformV1PersistentDiskSpec: Represents the spec of persistent
// disk options.
type GoogleCloudAiplatformV1PersistentDiskSpec struct {
	// DiskSizeGb: Size in GB of the disk (default is 100GB).
	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
	// DiskType: 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 `json:"diskType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DiskSizeGb") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DiskSizeGb") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PersistentDiskSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PersistentDiskSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PersistentResource: 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 GoogleCloudAiplatformV1PersistentResource struct {
	// CreateTime: Output only. Time when the PersistentResource was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Error: Output only. Only populated when persistent resource's state is
	// `STOPPING` or `ERROR`.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Immutable. Resource name of a PersistentResource.
	Name string `json:"name,omitempty"`
	// Network: 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 `json:"network,omitempty"`
	// PscInterfaceConfig: Optional. Configuration for PSC-I for
	// PersistentResource.
	PscInterfaceConfig *GoogleCloudAiplatformV1PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// ReservedIpRanges: 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 `json:"reservedIpRanges,omitempty"`
	// ResourcePools: Required. The spec of the pools of different resources.
	ResourcePools []*GoogleCloudAiplatformV1ResourcePool `json:"resourcePools,omitempty"`
	// ResourceRuntime: Output only. Runtime information of the Persistent
	// Resource.
	ResourceRuntime *GoogleCloudAiplatformV1ResourceRuntime `json:"resourceRuntime,omitempty"`
	// ResourceRuntimeSpec: Optional. Persistent Resource runtime spec. For
	// example, used for Ray cluster configuration.
	ResourceRuntimeSpec *GoogleCloudAiplatformV1ResourceRuntimeSpec `json:"resourceRuntimeSpec,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// StartTime: Output only. Time when the PersistentResource for the first time
	// entered the `RUNNING` state.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of a Study.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Not set.
	//   "PROVISIONING" - The PROVISIONING state indicates the persistent resources
	// is being created.
	//   "RUNNING" - The RUNNING state indicates the persistent resource is healthy
	// and fully usable.
	//   "STOPPING" - The STOPPING state indicates the persistent resource is being
	// deleted.
	//   "ERROR" - The ERROR state indicates the persistent resource may be
	// unusable. Details can be found in the `error` field.
	//   "REBOOTING" - The REBOOTING state indicates the persistent resource is
	// being rebooted (PR is not available right now but is expected to be ready
	// again later).
	//   "UPDATING" - The UPDATING state indicates the persistent resource is being
	// updated.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Time when the PersistentResource was most recently
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PersistentResource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PersistentResource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineJob: An instance of a machine learning
// PipelineJob.
type GoogleCloudAiplatformV1PipelineJob struct {
	// CreateTime: Output only. Pipeline creation time.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EndTime: Output only. Pipeline end time.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. The error that occurred during pipeline execution. Only
	// populated when the pipeline's state is FAILED or CANCELLED.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// JobDetail: Output only. The details of pipeline run. Not available in the
	// list view.
	JobDetail *GoogleCloudAiplatformV1PipelineJobDetail `json:"jobDetail,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. The resource name of the PipelineJob.
	Name string `json:"name,omitempty"`
	// Network: 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 `json:"network,omitempty"`
	// PipelineSpec: A compiled definition of a pipeline, represented as a `JSON`
	// object. Defines the structure of the pipeline, including its components,
	// tasks, and parameters. This specification is generated by compiling a
	// pipeline function defined in `Python` using the `Kubeflow Pipelines SDK`.
	PipelineSpec googleapi.RawMessage `json:"pipelineSpec,omitempty"`
	// PreflightValidations: Optional. Whether to do component level validations
	// before job creation.
	PreflightValidations bool `json:"preflightValidations,omitempty"`
	// PscInterfaceConfig: Optional. Configuration for PSC-I for PipelineJob.
	PscInterfaceConfig *GoogleCloudAiplatformV1PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// ReservedIpRanges: 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 `json:"reservedIpRanges,omitempty"`
	// RuntimeConfig: Runtime config of the pipeline.
	RuntimeConfig *GoogleCloudAiplatformV1PipelineJobRuntimeConfig `json:"runtimeConfig,omitempty"`
	// ScheduleName: Output only. The schedule resource name. Only returned if the
	// Pipeline is created by Schedule API.
	ScheduleName string `json:"scheduleName,omitempty"`
	// ServiceAccount: 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 `json:"serviceAccount,omitempty"`
	// StartTime: Output only. Pipeline start time.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the job.
	//
	// Possible values:
	//   "PIPELINE_STATE_UNSPECIFIED" - The pipeline state is unspecified.
	//   "PIPELINE_STATE_QUEUED" - The pipeline has been created or resumed, and
	// processing has not yet begun.
	//   "PIPELINE_STATE_PENDING" - The service is preparing to run the pipeline.
	//   "PIPELINE_STATE_RUNNING" - The pipeline is in progress.
	//   "PIPELINE_STATE_SUCCEEDED" - The pipeline completed successfully.
	//   "PIPELINE_STATE_FAILED" - The pipeline failed.
	//   "PIPELINE_STATE_CANCELLING" - 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.
	//   "PIPELINE_STATE_CANCELLED" - The pipeline has been cancelled.
	//   "PIPELINE_STATE_PAUSED" - The pipeline has been stopped, and can be
	// resumed.
	State string `json:"state,omitempty"`
	// TemplateMetadata: Output only. Pipeline template metadata. Will fill up
	// fields if PipelineJob.template_uri is from supported template registry.
	TemplateMetadata *GoogleCloudAiplatformV1PipelineTemplateMetadata `json:"templateMetadata,omitempty"`
	// TemplateUri: A template uri from where the 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 `json:"templateUri,omitempty"`
	// UpdateTime: Output only. Timestamp when this PipelineJob was most recently
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineJobDetail: The runtime detail of PipelineJob.
type GoogleCloudAiplatformV1PipelineJobDetail struct {
	// PipelineContext: Output only. The context of the pipeline.
	PipelineContext *GoogleCloudAiplatformV1Context `json:"pipelineContext,omitempty"`
	// PipelineRunContext: Output only. The context of the current pipeline run.
	PipelineRunContext *GoogleCloudAiplatformV1Context `json:"pipelineRunContext,omitempty"`
	// TaskDetails: Output only. The runtime details of the tasks under the
	// pipeline.
	TaskDetails []*GoogleCloudAiplatformV1PipelineTaskDetail `json:"taskDetails,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PipelineContext") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PipelineContext") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineJobDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJobDetail
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineJobRuntimeConfig: The runtime config of a
// PipelineJob.
type GoogleCloudAiplatformV1PipelineJobRuntimeConfig struct {
	// FailurePolicy: 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.
	//
	// Possible values:
	//   "PIPELINE_FAILURE_POLICY_UNSPECIFIED" - Default value, and follows fail
	// slow behavior.
	//   "PIPELINE_FAILURE_POLICY_FAIL_SLOW" - Indicates that the pipeline should
	// continue to run until all possible tasks have been scheduled and completed.
	//   "PIPELINE_FAILURE_POLICY_FAIL_FAST" - Indicates that the pipeline should
	// stop scheduling new tasks after a task has failed.
	FailurePolicy string `json:"failurePolicy,omitempty"`
	// GcsOutputDirectory: 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 `json:"gcsOutputDirectory,omitempty"`
	// InputArtifacts: 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]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact `json:"inputArtifacts,omitempty"`
	// ParameterValues: The runtime parameters of the PipelineJob. The parameters
	// will be passed into 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 googleapi.RawMessage `json:"parameterValues,omitempty"`
	// Parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The
	// runtime parameters of the PipelineJob. The parameters will be passed into
	// 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.
	Parameters map[string]GoogleCloudAiplatformV1Value `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FailurePolicy") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FailurePolicy") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineJobRuntimeConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJobRuntimeConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact: The type of an
// input artifact.
type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact struct {
	// ArtifactId: Artifact resource id from MLMD. Which is the last portion of an
	// artifact resource name:
	// `projects/{project}/locations/{location}/metadataStores/default/artifacts/{ar
	// tifact_id}`. The artifact must stay within the same project, location and
	// default metadatastore as the pipeline.
	ArtifactId string `json:"artifactId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArtifactId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineTaskDetail: The runtime detail of a task
// execution.
type GoogleCloudAiplatformV1PipelineTaskDetail struct {
	// CreateTime: Output only. Task create time.
	CreateTime string `json:"createTime,omitempty"`
	// EndTime: Output only. Task end time.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. The error that occurred during task execution. Only
	// populated when the task's state is FAILED or CANCELLED.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Execution: Output only. The execution metadata of the task.
	Execution *GoogleCloudAiplatformV1Execution `json:"execution,omitempty"`
	// ExecutorDetail: Output only. The detailed execution info.
	ExecutorDetail *GoogleCloudAiplatformV1PipelineTaskExecutorDetail `json:"executorDetail,omitempty"`
	// Inputs: Output only. The runtime input artifacts of the task.
	Inputs map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactList `json:"inputs,omitempty"`
	// Outputs: Output only. The runtime output artifacts of the task.
	Outputs map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactList `json:"outputs,omitempty"`
	// ParentTaskId: 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 `json:"parentTaskId,omitempty,string"`
	// PipelineTaskStatus: Output only. A list of task status. This field keeps a
	// record of task status evolving over time.
	PipelineTaskStatus []*GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus `json:"pipelineTaskStatus,omitempty"`
	// StartTime: Output only. Task start time.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. State of the task.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Unspecified.
	//   "PENDING" - Specifies pending state for the task.
	//   "RUNNING" - Specifies task is being executed.
	//   "SUCCEEDED" - Specifies task completed successfully.
	//   "CANCEL_PENDING" - Specifies Task cancel is in pending state.
	//   "CANCELLING" - Specifies task is being cancelled.
	//   "CANCELLED" - Specifies task was cancelled.
	//   "FAILED" - Specifies task failed.
	//   "SKIPPED" - Specifies task was skipped due to cache hit.
	//   "NOT_TRIGGERED" - 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.
	State string `json:"state,omitempty"`
	// TaskId: Output only. The system generated ID of the task.
	TaskId int64 `json:"taskId,omitempty,string"`
	// TaskName: Output only. The user specified name of the task that is defined
	// in pipeline_spec.
	TaskName string `json:"taskName,omitempty"`
	// TaskUniqueName: Output only. The unique name of a task. This field is used
	// by rerun pipeline job. Console UI and Vertex AI SDK will support triggering
	// pipeline job reruns. The name is constructed by concatenating all the parent
	// tasks name with the task name. For example, if a task named "child_task" has
	// a parent task named "parent_task_1" and parent task 1 has a parent task
	// named "parent_task_2", the task unique name will be
	// "parent_task_2.parent_task_1.child_task".
	TaskUniqueName string `json:"taskUniqueName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineTaskDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskDetail
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineTaskDetailArtifactList: A list of artifact
// metadata.
type GoogleCloudAiplatformV1PipelineTaskDetailArtifactList struct {
	// Artifacts: Output only. A list of artifact metadata.
	Artifacts []*GoogleCloudAiplatformV1Artifact `json:"artifacts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Artifacts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Artifacts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineTaskDetailArtifactList) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskDetailArtifactList
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus: A single record
// of the task status.
type GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus struct {
	// Error: 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 *GoogleRpcStatus `json:"error,omitempty"`
	// State: Output only. The state of the task.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Unspecified.
	//   "PENDING" - Specifies pending state for the task.
	//   "RUNNING" - Specifies task is being executed.
	//   "SUCCEEDED" - Specifies task completed successfully.
	//   "CANCEL_PENDING" - Specifies Task cancel is in pending state.
	//   "CANCELLING" - Specifies task is being cancelled.
	//   "CANCELLED" - Specifies task was cancelled.
	//   "FAILED" - Specifies task failed.
	//   "SKIPPED" - Specifies task was skipped due to cache hit.
	//   "NOT_TRIGGERED" - 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.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Update time of this status.
	UpdateTime string `json:"updateTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Error") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineTaskExecutorDetail: The runtime detail of a
// pipeline executor.
type GoogleCloudAiplatformV1PipelineTaskExecutorDetail struct {
	// ContainerDetail: Output only. The detailed info for a container executor.
	ContainerDetail *GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail `json:"containerDetail,omitempty"`
	// CustomJobDetail: Output only. The detailed info for a custom job executor.
	CustomJobDetail *GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail `json:"customJobDetail,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContainerDetail") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContainerDetail") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineTaskExecutorDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskExecutorDetail
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail: The detail
// of a container execution. It contains the job names of the lifecycle of a
// container execution.
type GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail struct {
	// FailedMainJobs: Output only. The names of the previously failed CustomJob
	// for the main container executions. The list includes the all attempts in
	// chronological order.
	FailedMainJobs []string `json:"failedMainJobs,omitempty"`
	// FailedPreCachingCheckJobs: Output only. The names of the previously failed
	// CustomJob for the pre-caching-check container executions. This job will be
	// available if the PipelineJob.pipeline_spec specifies the `pre_caching_check`
	// hook in the lifecycle events. The list includes the all attempts in
	// chronological order.
	FailedPreCachingCheckJobs []string `json:"failedPreCachingCheckJobs,omitempty"`
	// MainJob: Output only. The name of the CustomJob for the main container
	// execution.
	MainJob string `json:"mainJob,omitempty"`
	// PreCachingCheckJob: Output only. The name of the CustomJob for the
	// pre-caching-check container execution. This job will be available if the
	// PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the
	// lifecycle events.
	PreCachingCheckJob string `json:"preCachingCheckJob,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FailedMainJobs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FailedMainJobs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail: The
// detailed info for a custom job executor.
type GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail struct {
	// FailedJobs: Output only. The names of the previously failed CustomJob. The
	// list includes the all attempts in chronological order.
	FailedJobs []string `json:"failedJobs,omitempty"`
	// Job: Output only. The name of the CustomJob.
	Job string `json:"job,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FailedJobs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FailedJobs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PipelineTemplateMetadata: Pipeline template metadata
// if PipelineJob.template_uri is from supported template registry. Currently,
// the only supported registry is Artifact Registry.
type GoogleCloudAiplatformV1PipelineTemplateMetadata struct {
	// Version: The version_name in artifact registry. Will always be presented in
	// output if the PipelineJob.template_uri is from supported template registry.
	// Format is "sha256:abcdef123456...".
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Version") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PipelineTemplateMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTemplateMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PointwiseMetricInput: Input for pointwise metric.
type GoogleCloudAiplatformV1PointwiseMetricInput struct {
	// Instance: Required. Pointwise metric instance.
	Instance *GoogleCloudAiplatformV1PointwiseMetricInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for pointwise metric.
	MetricSpec *GoogleCloudAiplatformV1PointwiseMetricSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PointwiseMetricInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PointwiseMetricInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PointwiseMetricInstance: Pointwise metric instance.
// Usually one instance corresponds to one row in an evaluation dataset.
type GoogleCloudAiplatformV1PointwiseMetricInstance struct {
	// ContentMapInstance: Key-value contents for the mutlimodality input,
	// including text, image, video, audio, and pdf, etc. The key is placeholder in
	// metric prompt template, and the value is the multimodal content.
	ContentMapInstance *GoogleCloudAiplatformV1ContentMap `json:"contentMapInstance,omitempty"`
	// JsonInstance: Instance specified as a json string. String key-value pairs
	// are expected in the json_instance to render
	// PointwiseMetricSpec.instance_prompt_template.
	JsonInstance string `json:"jsonInstance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContentMapInstance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContentMapInstance") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PointwiseMetricInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PointwiseMetricInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PointwiseMetricResult: Spec for pointwise metric
// result.
type GoogleCloudAiplatformV1PointwiseMetricResult struct {
	// CustomOutput: Output only. Spec for custom output.
	CustomOutput *GoogleCloudAiplatformV1CustomOutput `json:"customOutput,omitempty"`
	// Explanation: Output only. Explanation for pointwise metric score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Pointwise metric score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomOutput") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PointwiseMetricResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PointwiseMetricResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1PointwiseMetricResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1PointwiseMetricResult
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1PointwiseMetricSpec: Spec for pointwise metric.
type GoogleCloudAiplatformV1PointwiseMetricSpec struct {
	// CustomOutputFormatConfig: Optional. CustomOutputFormatConfig allows
	// customization of metric output. By default, metrics return a score and
	// explanation. When this config is set, the default output is replaced with
	// either: - The raw output string. - A parsed output based on a user-defined
	// schema. If a custom format is chosen, the `score` and `explanation` fields
	// in the corresponding metric result will be empty.
	CustomOutputFormatConfig *GoogleCloudAiplatformV1CustomOutputFormatConfig `json:"customOutputFormatConfig,omitempty"`
	// MetricPromptTemplate: Required. Metric prompt template for pointwise metric.
	MetricPromptTemplate string `json:"metricPromptTemplate,omitempty"`
	// SystemInstruction: Optional. System instructions for pointwise metric.
	SystemInstruction string `json:"systemInstruction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomOutputFormatConfig")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomOutputFormatConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PointwiseMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PointwiseMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Port: Represents a network port in a container.
type GoogleCloudAiplatformV1Port struct {
	// ContainerPort: 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 int64 `json:"containerPort,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContainerPort") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContainerPort") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Port) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Port
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PostStartupScriptConfig: Post startup script config.
type GoogleCloudAiplatformV1PostStartupScriptConfig struct {
	// PostStartupScript: Optional. Post startup script to run after runtime is
	// started.
	PostStartupScript string `json:"postStartupScript,omitempty"`
	// PostStartupScriptBehavior: Optional. Post startup script behavior that
	// defines download and execution behavior.
	//
	// Possible values:
	//   "POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED" - Unspecified post startup
	// script behavior.
	//   "RUN_ONCE" - Run post startup script after runtime is started.
	//   "RUN_EVERY_START" - Run post startup script after runtime is stopped.
	//   "DOWNLOAD_AND_RUN_EVERY_START" - Download and run post startup script
	// every time runtime is started.
	PostStartupScriptBehavior string `json:"postStartupScriptBehavior,omitempty"`
	// PostStartupScriptUrl: Optional. Post startup script url to download.
	// Example: `gs://bucket/script.sh`
	PostStartupScriptUrl string `json:"postStartupScriptUrl,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PostStartupScript") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PostStartupScript") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PostStartupScriptConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PostStartupScriptConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PreTunedModel: A pre-tuned model for continuous
// tuning.
type GoogleCloudAiplatformV1PreTunedModel struct {
	// BaseModel: Output only. The name of the base model this PreTunedModel was
	// tuned from.
	BaseModel string `json:"baseModel,omitempty"`
	// CheckpointId: Optional. The source checkpoint id. If not specified, the
	// default checkpoint will be used.
	CheckpointId string `json:"checkpointId,omitempty"`
	// TunedModelName: The resource name of the Model. E.g., a model resource name
	// with a specified version id or alias:
	// `projects/{project}/locations/{location}/models/{model}@{version_id}`
	// `projects/{project}/locations/{location}/models/{model}@{alias}` Or, omit
	// the version id to use the default version:
	// `projects/{project}/locations/{location}/models/{model}`
	TunedModelName string `json:"tunedModelName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaseModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaseModel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PreTunedModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PreTunedModel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PrebuiltVoiceConfig: Configuration for a prebuilt
// voice.
type GoogleCloudAiplatformV1PrebuiltVoiceConfig struct {
	// VoiceName: The name of the prebuilt voice to use.
	VoiceName string `json:"voiceName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "VoiceName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "VoiceName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PrebuiltVoiceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PrebuiltVoiceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PredefinedMetricSpec: The spec for a pre-defined
// metric.
type GoogleCloudAiplatformV1PredefinedMetricSpec struct {
	// MetricSpecName: Required. The name of a pre-defined metric, such as
	// "instruction_following_v1" or "text_quality_v1".
	MetricSpecName string `json:"metricSpecName,omitempty"`
	// MetricSpecParameters: Optional. The parameters needed to run the pre-defined
	// metric.
	MetricSpecParameters googleapi.RawMessage `json:"metricSpecParameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MetricSpecName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetricSpecName") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PredefinedMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredefinedMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PredefinedSplit: Assigns input data to training,
// validation, and test sets based on the value of a provided key. Supported
// only for tabular Datasets.
type GoogleCloudAiplatformV1PredefinedSplit struct {
	// Key: Required. The key is a name of one of the Dataset's data columns. The
	// value of the key (either the label's value or value in the column) must be
	// one of {`training`, `validation`, `test`}, and it defines to which set the
	// given piece of data is assigned. If for a piece of data the key is not
	// present or has an invalid value, that piece is ignored by the pipeline.
	Key string `json:"key,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Key") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PredefinedSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredefinedSplit
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PredictLongRunningRequest: Request message for
// PredictionService.PredictLongRunning.
type GoogleCloudAiplatformV1PredictLongRunningRequest struct {
	// Instances: 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 PredictSchemata's
	// instance_schema_uri.
	Instances []interface{} `json:"instances,omitempty"`
	// Labels: Optional. The labels with user-defined metadata for the request. It
	// is used for billing and reporting only. Label keys and values can be no
	// longer than 63 characters (Unicode codepoints) and can only contain
	// lowercase letters, numeric characters, underscores, and dashes.
	// International characters are allowed. Label values are optional. Label keys
	// must start with a letter.
	Labels map[string]string `json:"labels,omitempty"`
	// Parameters: Optional. The parameters that govern the prediction. The schema
	// of the parameters may be specified via Endpoint's DeployedModels' Model's
	// PredictSchemata's parameters_schema_uri.
	Parameters interface{} `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PredictLongRunningRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictLongRunningRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PredictRequest: Request message for
// PredictionService.Predict.
type GoogleCloudAiplatformV1PredictRequest struct {
	// Instances: 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 PredictSchemata's
	// instance_schema_uri.
	Instances []interface{} `json:"instances,omitempty"`
	// Labels: Optional. The user labels for Imagen billing usage only. Only Imagen
	// supports labels. For other use cases, it will be ignored.
	Labels map[string]string `json:"labels,omitempty"`
	// Parameters: The parameters that govern the prediction. The schema of the
	// parameters may be specified via Endpoint's DeployedModels' Model's
	// PredictSchemata's parameters_schema_uri.
	Parameters interface{} `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig: Configuration
// for logging request-response to a BigQuery table.
type GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig struct {
	// BigqueryDestination: 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 *GoogleCloudAiplatformV1BigQueryDestination `json:"bigqueryDestination,omitempty"`
	// Enabled: If logging is enabled or not.
	Enabled bool `json:"enabled,omitempty"`
	// SamplingRate: Percentage of requests to be logged, expressed as a fraction
	// in range(0,1].
	SamplingRate float64 `json:"samplingRate,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryDestination") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig
	var s1 struct {
		SamplingRate gensupport.JSONFloat64 `json:"samplingRate"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.SamplingRate = float64(s1.SamplingRate)
	return nil
}

// GoogleCloudAiplatformV1PredictResponse: Response message for
// PredictionService.Predict.
type GoogleCloudAiplatformV1PredictResponse struct {
	// DeployedModelId: ID of the Endpoint's DeployedModel that served this
	// prediction.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// Metadata: Output only. Request-level metadata returned by the model. The
	// metadata type will be dependent upon the model implementation.
	Metadata interface{} `json:"metadata,omitempty"`
	// Model: Output only. The resource name of the Model which is deployed as the
	// DeployedModel that this prediction hits.
	Model string `json:"model,omitempty"`
	// ModelDisplayName: Output only. The display name of the Model which is
	// deployed as the DeployedModel that this prediction hits.
	ModelDisplayName string `json:"modelDisplayName,omitempty"`
	// ModelVersionId: Output only. The version ID of the Model which is deployed
	// as the DeployedModel that this prediction hits.
	ModelVersionId string `json:"modelVersionId,omitempty"`
	// Predictions: 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 PredictSchemata's prediction_schema_uri.
	Predictions []interface{} `json:"predictions,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PredictResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PredictSchemata: Contains the schemata used in
// Model's predictions and explanations via PredictionService.Predict,
// PredictionService.Explain and BatchPredictionJob.
type GoogleCloudAiplatformV1PredictSchemata struct {
	// InstanceSchemaUri: Immutable. Points to a YAML file stored on Google Cloud
	// Storage describing the format of a single instance, which are used in
	// PredictRequest.instances, ExplainRequest.instances and
	// 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 `json:"instanceSchemaUri,omitempty"`
	// ParametersSchemaUri: Immutable. Points to a YAML file stored on Google Cloud
	// Storage describing the parameters of prediction and explanation via
	// PredictRequest.parameters, ExplainRequest.parameters and
	// 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 `json:"parametersSchemaUri,omitempty"`
	// PredictionSchemaUri: 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,
	// ExplainResponse.explanations, and 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 `json:"predictionSchemaUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InstanceSchemaUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InstanceSchemaUri") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PredictSchemata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictSchemata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PreferenceOptimizationDataStats: Statistics computed
// for datasets used for preference optimization.
type GoogleCloudAiplatformV1PreferenceOptimizationDataStats struct {
	// DroppedExampleIndices: Output only. A partial sample of the indices
	// (starting from 1) of the dropped examples.
	DroppedExampleIndices googleapi.Int64s `json:"droppedExampleIndices,omitempty"`
	// DroppedExampleReasons: Output only. For each index in
	// `dropped_example_indices`, the user-facing reason why the example was
	// dropped.
	DroppedExampleReasons []string `json:"droppedExampleReasons,omitempty"`
	// ScoreVariancePerExampleDistribution: Output only. Dataset distributions for
	// scores variance per example.
	ScoreVariancePerExampleDistribution *GoogleCloudAiplatformV1DatasetDistribution `json:"scoreVariancePerExampleDistribution,omitempty"`
	// ScoresDistribution: Output only. Dataset distributions for scores.
	ScoresDistribution *GoogleCloudAiplatformV1DatasetDistribution `json:"scoresDistribution,omitempty"`
	// TotalBillableTokenCount: Output only. Number of billable tokens in the
	// tuning dataset.
	TotalBillableTokenCount int64 `json:"totalBillableTokenCount,omitempty,string"`
	// TuningDatasetExampleCount: Output only. Number of examples in the tuning
	// dataset.
	TuningDatasetExampleCount int64 `json:"tuningDatasetExampleCount,omitempty,string"`
	// TuningStepCount: Output only. Number of tuning steps for this Tuning Job.
	TuningStepCount int64 `json:"tuningStepCount,omitempty,string"`
	// UserDatasetExamples: Output only. Sample user examples in the training
	// dataset.
	UserDatasetExamples []*GoogleCloudAiplatformV1GeminiPreferenceExample `json:"userDatasetExamples,omitempty"`
	// UserInputTokenDistribution: Output only. Dataset distributions for the user
	// input tokens.
	UserInputTokenDistribution *GoogleCloudAiplatformV1DatasetDistribution `json:"userInputTokenDistribution,omitempty"`
	// UserOutputTokenDistribution: Output only. Dataset distributions for the user
	// output tokens.
	UserOutputTokenDistribution *GoogleCloudAiplatformV1DatasetDistribution `json:"userOutputTokenDistribution,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DroppedExampleIndices") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DroppedExampleIndices") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PreferenceOptimizationDataStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PreferenceOptimizationDataStats
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters:
// Hyperparameters for Preference Optimization.
type GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters struct {
	// AdapterSize: Optional. Adapter size for preference optimization.
	//
	// Possible values:
	//   "ADAPTER_SIZE_UNSPECIFIED" - Adapter size is unspecified.
	//   "ADAPTER_SIZE_ONE" - Adapter size 1.
	//   "ADAPTER_SIZE_TWO" - Adapter size 2.
	//   "ADAPTER_SIZE_FOUR" - Adapter size 4.
	//   "ADAPTER_SIZE_EIGHT" - Adapter size 8.
	//   "ADAPTER_SIZE_SIXTEEN" - Adapter size 16.
	//   "ADAPTER_SIZE_THIRTY_TWO" - Adapter size 32.
	AdapterSize string `json:"adapterSize,omitempty"`
	// Beta: Optional. Weight for KL Divergence regularization.
	Beta float64 `json:"beta,omitempty"`
	// EpochCount: Optional. Number of complete passes the model makes over the
	// entire training dataset during training.
	EpochCount int64 `json:"epochCount,omitempty,string"`
	// LearningRateMultiplier: Optional. Multiplier for adjusting the default
	// learning rate.
	LearningRateMultiplier float64 `json:"learningRateMultiplier,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdapterSize") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdapterSize") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters
	var s1 struct {
		Beta                   gensupport.JSONFloat64 `json:"beta"`
		LearningRateMultiplier gensupport.JSONFloat64 `json:"learningRateMultiplier"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Beta = float64(s1.Beta)
	s.LearningRateMultiplier = float64(s1.LearningRateMultiplier)
	return nil
}

// GoogleCloudAiplatformV1PreferenceOptimizationSpec: Tuning Spec for
// Preference Optimization.
type GoogleCloudAiplatformV1PreferenceOptimizationSpec struct {
	// ExportLastCheckpointOnly: Optional. If set to true, disable intermediate
	// checkpoints for Preference Optimization and only the last checkpoint will be
	// exported. Otherwise, enable intermediate checkpoints for Preference
	// Optimization. Default is false.
	ExportLastCheckpointOnly bool `json:"exportLastCheckpointOnly,omitempty"`
	// HyperParameters: Optional. Hyperparameters for Preference Optimization.
	HyperParameters *GoogleCloudAiplatformV1PreferenceOptimizationHyperParameters `json:"hyperParameters,omitempty"`
	// TrainingDatasetUri: Required. Cloud Storage path to file containing training
	// dataset for preference optimization tuning. The dataset must be formatted as
	// a JSONL file.
	TrainingDatasetUri string `json:"trainingDatasetUri,omitempty"`
	// ValidationDatasetUri: Optional. Cloud Storage path to file containing
	// validation dataset for preference optimization tuning. The dataset must be
	// formatted as a JSONL file.
	ValidationDatasetUri string `json:"validationDatasetUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExportLastCheckpointOnly")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExportLastCheckpointOnly") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PreferenceOptimizationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PreferenceOptimizationSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Presets: Preset configuration for example-based
// explanations
type GoogleCloudAiplatformV1Presets struct {
	// Modality: 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.
	//
	// Possible values:
	//   "MODALITY_UNSPECIFIED" - Should not be set. Added as a recommended best
	// practice for enums
	//   "IMAGE" - IMAGE modality
	//   "TEXT" - TEXT modality
	//   "TABULAR" - TABULAR modality
	Modality string `json:"modality,omitempty"`
	// Query: Preset option controlling parameters for speed-precision trade-off
	// when querying for examples. If omitted, defaults to `PRECISE`.
	//
	// Possible values:
	//   "PRECISE" - More precise neighbors as a trade-off against slower response.
	//   "FAST" - Faster response as a trade-off against less precise neighbors.
	Query string `json:"query,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Modality") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Modality") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Presets) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Presets
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PrivateEndpoints: 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 GoogleCloudAiplatformV1PrivateEndpoints struct {
	// ExplainHttpUri: Output only. Http(s) path to send explain requests.
	ExplainHttpUri string `json:"explainHttpUri,omitempty"`
	// HealthHttpUri: Output only. Http(s) path to send health check requests.
	HealthHttpUri string `json:"healthHttpUri,omitempty"`
	// PredictHttpUri: Output only. Http(s) path to send prediction requests.
	PredictHttpUri string `json:"predictHttpUri,omitempty"`
	// ServiceAttachment: Output only. The name of the service attachment resource.
	// Populated if private service connect is enabled.
	ServiceAttachment string `json:"serviceAttachment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExplainHttpUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExplainHttpUri") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PrivateEndpoints) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PrivateEndpoints
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PrivateServiceConnectConfig: Represents configuration
// for private service connect.
type GoogleCloudAiplatformV1PrivateServiceConnectConfig struct {
	// EnablePrivateServiceConnect: Required. If true, expose the IndexEndpoint via
	// private service connect.
	EnablePrivateServiceConnect bool `json:"enablePrivateServiceConnect,omitempty"`
	// ProjectAllowlist: A list of Projects from which the forwarding rule will
	// target the service attachment.
	ProjectAllowlist []string `json:"projectAllowlist,omitempty"`
	// PscAutomationConfigs: Optional. List of projects and networks where the PSC
	// endpoints will be created. This field is used by Online
	// Inference(Prediction) only.
	PscAutomationConfigs []*GoogleCloudAiplatformV1PSCAutomationConfig `json:"pscAutomationConfigs,omitempty"`
	// ServiceAttachment: Output only. The name of the generated service attachment
	// resource. This is only populated if the endpoint is deployed with
	// PrivateServiceConnect.
	ServiceAttachment string `json:"serviceAttachment,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "EnablePrivateServiceConnect") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnablePrivateServiceConnect") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PrivateServiceConnectConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PrivateServiceConnectConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Probe: Probe describes a health check to be performed
// against a container to determine whether it is alive or ready to receive
// traffic.
type GoogleCloudAiplatformV1Probe struct {
	// Exec: ExecAction probes the health of a container by executing a command.
	Exec *GoogleCloudAiplatformV1ProbeExecAction `json:"exec,omitempty"`
	// FailureThreshold: Number of consecutive failures before the probe is
	// considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes
	// probe argument 'failureThreshold'.
	FailureThreshold int64 `json:"failureThreshold,omitempty"`
	// Grpc: GrpcAction probes the health of a container by sending a gRPC request.
	Grpc *GoogleCloudAiplatformV1ProbeGrpcAction `json:"grpc,omitempty"`
	// HttpGet: HttpGetAction probes the health of a container by sending an HTTP
	// GET request.
	HttpGet *GoogleCloudAiplatformV1ProbeHttpGetAction `json:"httpGet,omitempty"`
	// InitialDelaySeconds: Number of seconds to wait before starting the probe.
	// Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument
	// 'initialDelaySeconds'.
	InitialDelaySeconds int64 `json:"initialDelaySeconds,omitempty"`
	// PeriodSeconds: 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 int64 `json:"periodSeconds,omitempty"`
	// SuccessThreshold: Number of consecutive successes before the probe is
	// considered successful. Defaults to 1. Minimum value is 1. Maps to Kubernetes
	// probe argument 'successThreshold'.
	SuccessThreshold int64 `json:"successThreshold,omitempty"`
	// TcpSocket: TcpSocketAction probes the health of a container by opening a TCP
	// socket connection.
	TcpSocket *GoogleCloudAiplatformV1ProbeTcpSocketAction `json:"tcpSocket,omitempty"`
	// TimeoutSeconds: 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 int64 `json:"timeoutSeconds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Exec") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Exec") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Probe) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Probe
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ProbeExecAction: ExecAction specifies a command to
// execute.
type GoogleCloudAiplatformV1ProbeExecAction struct {
	// Command: 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 `json:"command,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Command") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Command") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ProbeExecAction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ProbeExecAction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ProbeGrpcAction: GrpcAction checks the health of a
// container using a gRPC service.
type GoogleCloudAiplatformV1ProbeGrpcAction struct {
	// Port: Port number of the gRPC service. Number must be in the range 1 to
	// 65535.
	Port int64 `json:"port,omitempty"`
	// Service: Service is the name of the service to place in the gRPC
	// HealthCheckRequest. See
	// https://github.com/grpc/grpc/blob/master/doc/health-checking.md. If this is
	// not specified, the default behavior is defined by gRPC.
	Service string `json:"service,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Port") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Port") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ProbeGrpcAction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ProbeGrpcAction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ProbeHttpGetAction: HttpGetAction describes an action
// based on HTTP Get requests.
type GoogleCloudAiplatformV1ProbeHttpGetAction struct {
	// Host: Host name to connect to, defaults to the model serving container's IP.
	// You probably want to set "Host" in httpHeaders instead.
	Host string `json:"host,omitempty"`
	// HttpHeaders: Custom headers to set in the request. HTTP allows repeated
	// headers.
	HttpHeaders []*GoogleCloudAiplatformV1ProbeHttpHeader `json:"httpHeaders,omitempty"`
	// Path: Path to access on the HTTP server.
	Path string `json:"path,omitempty"`
	// Port: Number of the port to access on the container. Number must be in the
	// range 1 to 65535.
	Port int64 `json:"port,omitempty"`
	// Scheme: Scheme to use for connecting to the host. Defaults to HTTP.
	// Acceptable values are "HTTP" or "HTTPS".
	Scheme string `json:"scheme,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Host") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Host") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ProbeHttpGetAction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ProbeHttpGetAction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ProbeHttpHeader: HttpHeader describes a custom header
// to be used in HTTP probes
type GoogleCloudAiplatformV1ProbeHttpHeader struct {
	// Name: The header field name. This will be canonicalized upon output, so
	// case-variant names will be understood as the same header.
	Name string `json:"name,omitempty"`
	// Value: The header field value
	Value string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ProbeHttpHeader) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ProbeHttpHeader
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ProbeTcpSocketAction: TcpSocketAction probes the
// health of a container by opening a TCP socket connection.
type GoogleCloudAiplatformV1ProbeTcpSocketAction struct {
	// Host: Optional: Host name to connect to, defaults to the model serving
	// container's IP.
	Host string `json:"host,omitempty"`
	// Port: Number of the port to access on the container. Number must be in the
	// range 1 to 65535.
	Port int64 `json:"port,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Host") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Host") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ProbeTcpSocketAction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ProbeTcpSocketAction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PscAutomatedEndpoints: PscAutomatedEndpoints defines
// the output of the forwarding rule automatically created by each
// PscAutomationConfig.
type GoogleCloudAiplatformV1PscAutomatedEndpoints struct {
	// MatchAddress: Ip Address created by the automated forwarding rule.
	MatchAddress string `json:"matchAddress,omitempty"`
	// Network: Corresponding network in pscAutomationConfigs.
	Network string `json:"network,omitempty"`
	// ProjectId: Corresponding project_id in pscAutomationConfigs
	ProjectId string `json:"projectId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MatchAddress") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MatchAddress") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PscAutomatedEndpoints) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PscAutomatedEndpoints
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PscInterfaceConfig: Configuration for PSC-I.
type GoogleCloudAiplatformV1PscInterfaceConfig struct {
	// DnsPeeringConfigs: Optional. DNS peering configurations. When specified,
	// Vertex AI will attempt to configure DNS peering zones in the tenant project
	// VPC to resolve the specified domains using the target network's Cloud DNS.
	// The user must grant the dns.peer role to the Vertex AI Service Agent on the
	// target project.
	DnsPeeringConfigs []*GoogleCloudAiplatformV1DnsPeeringConfig `json:"dnsPeeringConfigs,omitempty"`
	// NetworkAttachment: Optional. The name of the Compute Engine network
	// attachment (https://cloud.google.com/vpc/docs/about-network-attachments) to
	// attach to the resource within the region and user project. To specify this
	// field, you must have already [created a network attachment]
	// (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments).
	// This field is only used for resources using PSC-I.
	NetworkAttachment string `json:"networkAttachment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DnsPeeringConfigs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DnsPeeringConfigs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PscInterfaceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PscInterfaceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModel: A Model Garden Publisher Model.
type GoogleCloudAiplatformV1PublisherModel struct {
	// Frameworks: Optional. Additional information about the model's Frameworks.
	Frameworks []string `json:"frameworks,omitempty"`
	// LaunchStage: Optional. Indicates the launch stage of the model.
	//
	// Possible values:
	//   "LAUNCH_STAGE_UNSPECIFIED" - The model launch stage is unspecified.
	//   "EXPERIMENTAL" - Used to indicate the PublisherModel is at Experimental
	// launch stage, available to a small set of customers.
	//   "PRIVATE_PREVIEW" - Used to indicate the PublisherModel is at Private
	// Preview launch stage, only available to a small set of customers, although a
	// larger set of customers than an Experimental launch. Previews are the first
	// launch stage used to get feedback from customers.
	//   "PUBLIC_PREVIEW" - Used to indicate the PublisherModel is at Public
	// Preview launch stage, available to all customers, although not supported for
	// production workloads.
	//   "GA" - Used to indicate the PublisherModel is at GA launch stage,
	// available to all customers and ready for production workload.
	LaunchStage string `json:"launchStage,omitempty"`
	// Name: Output only. Identifier. The resource name of the PublisherModel.
	Name string `json:"name,omitempty"`
	// OpenSourceCategory: Required. Indicates the open source category of the
	// publisher model.
	//
	// Possible values:
	//   "OPEN_SOURCE_CATEGORY_UNSPECIFIED" - The open source category is
	// unspecified, which should not be used.
	//   "PROPRIETARY" - Used to indicate the PublisherModel is not open sourced.
	//   "GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT" - Used to indicate the
	// PublisherModel is a Google-owned open source model w/ Google checkpoint.
	//   "THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT" - Used to indicate the
	// PublisherModel is a 3p-owned open source model w/ Google checkpoint.
	//   "GOOGLE_OWNED_OSS" - Used to indicate the PublisherModel is a Google-owned
	// pure open source model.
	//   "THIRD_PARTY_OWNED_OSS" - Used to indicate the PublisherModel is a
	// 3p-owned pure open source model.
	OpenSourceCategory string `json:"openSourceCategory,omitempty"`
	// PredictSchemata: Optional. The schemata that describes formats of the
	// PublisherModel's predictions and explanations as given and returned via
	// PredictionService.Predict.
	PredictSchemata *GoogleCloudAiplatformV1PredictSchemata `json:"predictSchemata,omitempty"`
	// PublisherModelTemplate: 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 `json:"publisherModelTemplate,omitempty"`
	// SupportedActions: Optional. Supported call-to-action options.
	SupportedActions *GoogleCloudAiplatformV1PublisherModelCallToAction `json:"supportedActions,omitempty"`
	// VersionId: 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 `json:"versionId,omitempty"`
	// VersionState: Optional. Indicates the state of the model version.
	//
	// Possible values:
	//   "VERSION_STATE_UNSPECIFIED" - The version state is unspecified.
	//   "VERSION_STATE_STABLE" - Used to indicate the version is stable.
	//   "VERSION_STATE_UNSTABLE" - Used to indicate the version is unstable.
	VersionState string `json:"versionState,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Frameworks") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Frameworks") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToAction: Actions could take on
// this Publisher Model.
type GoogleCloudAiplatformV1PublisherModelCallToAction struct {
	// CreateApplication: Optional. Create application using the PublisherModel.
	CreateApplication *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"createApplication,omitempty"`
	// Deploy: Optional. Deploy the PublisherModel to Vertex Endpoint.
	Deploy *GoogleCloudAiplatformV1PublisherModelCallToActionDeploy `json:"deploy,omitempty"`
	// DeployGke: Optional. Deploy PublisherModel to Google Kubernetes Engine.
	DeployGke *GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke `json:"deployGke,omitempty"`
	// MultiDeployVertex: Optional. Multiple setups to deploy the PublisherModel to
	// Vertex Endpoint.
	MultiDeployVertex *GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex `json:"multiDeployVertex,omitempty"`
	// OpenEvaluationPipeline: Optional. Open evaluation pipeline of the
	// PublisherModel.
	OpenEvaluationPipeline *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"openEvaluationPipeline,omitempty"`
	// OpenFineTuningPipeline: Optional. Open fine-tuning pipeline of the
	// PublisherModel.
	OpenFineTuningPipeline *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"openFineTuningPipeline,omitempty"`
	// OpenFineTuningPipelines: Optional. Open fine-tuning pipelines of the
	// PublisherModel.
	OpenFineTuningPipelines *GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines `json:"openFineTuningPipelines,omitempty"`
	// OpenGenerationAiStudio: Optional. Open in Generation AI Studio.
	OpenGenerationAiStudio *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"openGenerationAiStudio,omitempty"`
	// OpenGenie: Optional. Open Genie / Playground.
	OpenGenie *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"openGenie,omitempty"`
	// OpenNotebook: Optional. Open notebook of the PublisherModel.
	OpenNotebook *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"openNotebook,omitempty"`
	// OpenNotebooks: Optional. Open notebooks of the PublisherModel.
	OpenNotebooks *GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks `json:"openNotebooks,omitempty"`
	// OpenPromptTuningPipeline: Optional. Open prompt-tuning pipeline of the
	// PublisherModel.
	OpenPromptTuningPipeline *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"openPromptTuningPipeline,omitempty"`
	// RequestAccess: Optional. Request for access.
	RequestAccess *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"requestAccess,omitempty"`
	// ViewRestApi: Optional. To view Rest API docs.
	ViewRestApi *GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi `json:"viewRestApi,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CreateApplication") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateApplication") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToAction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToAction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionDeploy: Model metadata that
// is needed for UploadModel or DeployModel/CreateEndpoint requests.
type GoogleCloudAiplatformV1PublisherModelCallToActionDeploy struct {
	// ArtifactUri: Optional. The path to the directory containing the Model
	// artifact and any of its supporting files.
	ArtifactUri string `json:"artifactUri,omitempty"`
	// AutomaticResources: A description of resources that to large degree are
	// decided by Vertex AI, and require only a modest additional configuration.
	AutomaticResources *GoogleCloudAiplatformV1AutomaticResources `json:"automaticResources,omitempty"`
	// ContainerSpec: Optional. The specification of the container that is to be
	// used when deploying this Model in Vertex AI. Not present for Large Models.
	ContainerSpec *GoogleCloudAiplatformV1ModelContainerSpec `json:"containerSpec,omitempty"`
	// DedicatedResources: A description of resources that are dedicated to the
	// DeployedModel, and that need a higher degree of manual configuration.
	DedicatedResources *GoogleCloudAiplatformV1DedicatedResources `json:"dedicatedResources,omitempty"`
	// DeployMetadata: Optional. Metadata information about this deployment config.
	DeployMetadata *GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata `json:"deployMetadata,omitempty"`
	// DeployTaskName: Optional. The name of the deploy task (e.g., "text to image
	// generation").
	DeployTaskName string `json:"deployTaskName,omitempty"`
	// LargeModelReference: Optional. Large model reference. When this is set,
	// model_artifact_spec is not needed.
	LargeModelReference *GoogleCloudAiplatformV1LargeModelReference `json:"largeModelReference,omitempty"`
	// ModelDisplayName: Optional. Default model display name.
	ModelDisplayName string `json:"modelDisplayName,omitempty"`
	// PublicArtifactUri: Optional. The signed URI for ephemeral Cloud Storage
	// access to model artifact.
	PublicArtifactUri string `json:"publicArtifactUri,omitempty"`
	// SharedResources: The resource name of the shared DeploymentResourcePool to
	// deploy on. Format:
	// `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_
	// resource_pool}`
	SharedResources string `json:"sharedResources,omitempty"`
	// Title: Required. The title of the regional resource reference.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArtifactUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionDeploy) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionDeploy
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata:
// Metadata information about the deployment for managing deployment config.
type GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata struct {
	// Labels: Optional. Labels for the deployment config. For managing deployment
	// config like verifying, source of deployment config, etc.
	Labels map[string]string `json:"labels,omitempty"`
	// SampleRequest: Optional. Sample request for deployed endpoint.
	SampleRequest string `json:"sampleRequest,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Labels") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke: Configurations
// for PublisherModel GKE deployment
type GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke struct {
	// GkeYamlConfigs: Optional. GKE deployment configuration in yaml format.
	GkeYamlConfigs []string `json:"gkeYamlConfigs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GkeYamlConfigs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GkeYamlConfigs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex: Multiple
// setups to deploy the PublisherModel.
type GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex struct {
	// MultiDeployVertex: Optional. One click deployment configurations.
	MultiDeployVertex []*GoogleCloudAiplatformV1PublisherModelCallToActionDeploy `json:"multiDeployVertex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MultiDeployVertex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MultiDeployVertex") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines:
// Open fine tuning pipelines.
type GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines struct {
	// FineTuningPipelines: Required. Regional resource references to fine tuning
	// pipelines.
	FineTuningPipelines []*GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"fineTuningPipelines,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FineTuningPipelines") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FineTuningPipelines") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks: Open
// notebooks.
type GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks struct {
	// Notebooks: Required. Regional resource references to notebooks.
	Notebooks []*GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"notebooks,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Notebooks") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Notebooks") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences:
// The regional resource name or the URI. Key is region, e.g., us-central1,
// europe-west2, global, etc..
type GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences struct {
	// ColabNotebookDisabled: Optional. For notebook resource. When set to true,
	// the Colab Enterprise link will be disabled in the "open notebook" dialog in
	// UI.
	ColabNotebookDisabled bool `json:"colabNotebookDisabled,omitempty"`
	// References: Required.
	References map[string]GoogleCloudAiplatformV1PublisherModelResourceReference `json:"references,omitempty"`
	// ResourceDescription: Optional. Description of the resource.
	ResourceDescription string `json:"resourceDescription,omitempty"`
	// ResourceTitle: Optional. Title of the resource.
	ResourceTitle string `json:"resourceTitle,omitempty"`
	// ResourceUseCase: Optional. Use case (CUJ) of the resource.
	ResourceUseCase string `json:"resourceUseCase,omitempty"`
	// SupportsWorkbench: Optional. For notebook resource, whether the notebook
	// supports Workbench.
	SupportsWorkbench bool `json:"supportsWorkbench,omitempty"`
	// Title: Required.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColabNotebookDisabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColabNotebookDisabled") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi: Rest API docs.
type GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi struct {
	// Documentations: Required.
	Documentations []*GoogleCloudAiplatformV1PublisherModelDocumentation `json:"documentations,omitempty"`
	// Title: Required. The title of the view rest API.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Documentations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Documentations") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelDocumentation: A named piece of
// documentation.
type GoogleCloudAiplatformV1PublisherModelDocumentation struct {
	// Content: Required. Content of this piece of document (in Markdown format).
	Content string `json:"content,omitempty"`
	// Title: Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES,
	// JAVA, NODE.JS, etc..
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelDocumentation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelDocumentation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PublisherModelResourceReference: Reference to a
// resource.
type GoogleCloudAiplatformV1PublisherModelResourceReference struct {
	// Description: Description of the resource.
	Description string `json:"description,omitempty"`
	// ResourceName: The resource name of the Google Cloud resource.
	ResourceName string `json:"resourceName,omitempty"`
	// Uri: The URI of the resource.
	Uri string `json:"uri,omitempty"`
	// UseCase: Use case (CUJ) of the resource.
	UseCase string `json:"useCase,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PublisherModelResourceReference) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelResourceReference
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeArtifactsMetadata: Details of operations that
// perform MetadataService.PurgeArtifacts.
type GoogleCloudAiplatformV1PurgeArtifactsMetadata struct {
	// GenericMetadata: Operation metadata for purging Artifacts.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeArtifactsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeArtifactsMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeArtifactsRequest: Request message for
// MetadataService.PurgeArtifacts.
type GoogleCloudAiplatformV1PurgeArtifactsRequest struct {
	// Filter: Required. A required filter matching the Artifacts to be purged.
	// E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
	Filter string `json:"filter,omitempty"`
	// Force: 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 `json:"force,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeArtifactsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeArtifactsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeArtifactsResponse: Response message for
// MetadataService.PurgeArtifacts.
type GoogleCloudAiplatformV1PurgeArtifactsResponse struct {
	// PurgeCount: 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 `json:"purgeCount,omitempty,string"`
	// PurgeSample: 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 `json:"purgeSample,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PurgeCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PurgeCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeArtifactsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeArtifactsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeContextsMetadata: Details of operations that
// perform MetadataService.PurgeContexts.
type GoogleCloudAiplatformV1PurgeContextsMetadata struct {
	// GenericMetadata: Operation metadata for purging Contexts.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeContextsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeContextsMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeContextsRequest: Request message for
// MetadataService.PurgeContexts.
type GoogleCloudAiplatformV1PurgeContextsRequest struct {
	// Filter: Required. A required filter matching the Contexts to be purged.
	// E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
	Filter string `json:"filter,omitempty"`
	// Force: 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 `json:"force,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeContextsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeContextsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeContextsResponse: Response message for
// MetadataService.PurgeContexts.
type GoogleCloudAiplatformV1PurgeContextsResponse struct {
	// PurgeCount: 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 `json:"purgeCount,omitempty,string"`
	// PurgeSample: 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 `json:"purgeSample,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PurgeCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PurgeCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeContextsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeContextsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeExecutionsMetadata: Details of operations that
// perform MetadataService.PurgeExecutions.
type GoogleCloudAiplatformV1PurgeExecutionsMetadata struct {
	// GenericMetadata: Operation metadata for purging Executions.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeExecutionsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeExecutionsMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeExecutionsRequest: Request message for
// MetadataService.PurgeExecutions.
type GoogleCloudAiplatformV1PurgeExecutionsRequest struct {
	// Filter: Required. A required filter matching the Executions to be purged.
	// E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
	Filter string `json:"filter,omitempty"`
	// Force: 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 `json:"force,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeExecutionsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeExecutionsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeExecutionsResponse: Response message for
// MetadataService.PurgeExecutions.
type GoogleCloudAiplatformV1PurgeExecutionsResponse struct {
	// PurgeCount: 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 `json:"purgeCount,omitempty,string"`
	// PurgeSample: 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 `json:"purgeSample,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PurgeCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PurgeCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeExecutionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeExecutionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PurgeMemoriesRequest: Request message for
// MemoryBankService.PurgeMemories.
type GoogleCloudAiplatformV1PurgeMemoriesRequest struct {
	// Filter: Required. The standard list filter to determine which memories to
	// purge. More detail in AIP-160 (https://google.aip.dev/160).
	Filter string `json:"filter,omitempty"`
	// FilterGroups: Optional. Metadata filters that will be applied to the
	// memories to be purged. Filters are defined using disjunctive normal form (OR
	// of ANDs). For example: `filter_groups: [{filters: [{key: "author", value:
	// {string_value: "agent 123"}, op: EQUAL}]}, {filters: [{key: "label", value:
	// {string_value: "travel"}, op: EQUAL}, {key: "author", value: {string_value:
	// "agent 321"}, op: EQUAL}]}]` would be equivalent to the logical expression:
	// `(metadata.author = "agent 123" OR (metadata.label = "travel" AND
	// metadata.author = "agent 321"))`.
	FilterGroups []*GoogleCloudAiplatformV1MemoryConjunctionFilter `json:"filterGroups,omitempty"`
	// Force: Optional. If true, the memories will actually be purged. If false,
	// the purge request will be validated but not executed.
	Force bool `json:"force,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PurgeMemoriesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeMemoriesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1PythonPackageSpec: The spec of a Python packaged
// code.
type GoogleCloudAiplatformV1PythonPackageSpec struct {
	// Args: Command line arguments to be passed to the Python task.
	Args []string `json:"args,omitempty"`
	// Env: Environment variables to be passed to the python module. Maximum limit
	// is 100.
	Env []*GoogleCloudAiplatformV1EnvVar `json:"env,omitempty"`
	// ExecutorImageUri: 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 `json:"executorImageUri,omitempty"`
	// PackageUris: 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 `json:"packageUris,omitempty"`
	// PythonModule: Required. The Python module name to run after installing the
	// packages.
	PythonModule string `json:"pythonModule,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Args") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1PythonPackageSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PythonPackageSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QueryDeployedModelsResponse: Response message for
// QueryDeployedModels method.
type GoogleCloudAiplatformV1QueryDeployedModelsResponse struct {
	// DeployedModelRefs: References to the DeployedModels that share the specified
	// deploymentResourcePool.
	DeployedModelRefs []*GoogleCloudAiplatformV1DeployedModelRef `json:"deployedModelRefs,omitempty"`
	// DeployedModels: DEPRECATED Use deployed_model_refs instead.
	DeployedModels []*GoogleCloudAiplatformV1DeployedModel `json:"deployedModels,omitempty"`
	// NextPageToken: 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 `json:"nextPageToken,omitempty"`
	// TotalDeployedModelCount: The total number of DeployedModels on this
	// DeploymentResourcePool.
	TotalDeployedModelCount int64 `json:"totalDeployedModelCount,omitempty"`
	// TotalEndpointCount: The total number of Endpoints that have DeployedModels
	// on this DeploymentResourcePool.
	TotalEndpointCount int64 `json:"totalEndpointCount,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelRefs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelRefs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QueryDeployedModelsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QueryDeployedModelsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QueryReasoningEngineRequest: Request message for
// ReasoningEngineExecutionService.Query.
type GoogleCloudAiplatformV1QueryReasoningEngineRequest struct {
	// ClassMethod: Optional. Class method to be used for the query. It is optional
	// and defaults to "query" if unspecified.
	ClassMethod string `json:"classMethod,omitempty"`
	// Input: Optional. Input content provided by users in JSON object format.
	// Examples include text query, function calling parameters, media bytes, etc.
	Input googleapi.RawMessage `json:"input,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClassMethod") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClassMethod") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QueryReasoningEngineRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QueryReasoningEngineRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QueryReasoningEngineResponse: Response message for
// ReasoningEngineExecutionService.Query
type GoogleCloudAiplatformV1QueryReasoningEngineResponse struct {
	// Output: Response provided by users in JSON object format.
	Output interface{} `json:"output,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Output") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Output") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QueryReasoningEngineResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QueryReasoningEngineResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput: Input for question
// answering correctness metric.
type GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput struct {
	// Instance: Required. Question answering correctness instance.
	Instance *GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for question answering correctness score metric.
	MetricSpec *GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance: Spec for
// question answering correctness instance.
type GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance struct {
	// Context: Optional. Text provided as context to answer the question.
	Context string `json:"context,omitempty"`
	// Instruction: Required. The question asked and other instruction in the
	// inference prompt.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult: Spec for question
// answering correctness result.
type GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult struct {
	// Confidence: Output only. Confidence for question answering correctness
	// score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for question answering correctness
	// score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Question Answering Correctness score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec: Spec for question
// answering correctness metric.
type GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// question answering correctness.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput: Input for question
// answering helpfulness metric.
type GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput struct {
	// Instance: Required. Question answering helpfulness instance.
	Instance *GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for question answering helpfulness score metric.
	MetricSpec *GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance: Spec for
// question answering helpfulness instance.
type GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance struct {
	// Context: Optional. Text provided as context to answer the question.
	Context string `json:"context,omitempty"`
	// Instruction: Required. The question asked and other instruction in the
	// inference prompt.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult: Spec for question
// answering helpfulness result.
type GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult struct {
	// Confidence: Output only. Confidence for question answering helpfulness
	// score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for question answering helpfulness
	// score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Question Answering Helpfulness score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec: Spec for question
// answering helpfulness metric.
type GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// question answering helpfulness.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringQualityInput: Input for question
// answering quality metric.
type GoogleCloudAiplatformV1QuestionAnsweringQualityInput struct {
	// Instance: Required. Question answering quality instance.
	Instance *GoogleCloudAiplatformV1QuestionAnsweringQualityInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for question answering quality score metric.
	MetricSpec *GoogleCloudAiplatformV1QuestionAnsweringQualitySpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringQualityInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringQualityInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringQualityInstance: Spec for question
// answering quality instance.
type GoogleCloudAiplatformV1QuestionAnsweringQualityInstance struct {
	// Context: Required. Text to answer the question.
	Context string `json:"context,omitempty"`
	// Instruction: Required. Question Answering prompt for LLM.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringQualityInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringQualityInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringQualityResult: Spec for question
// answering quality result.
type GoogleCloudAiplatformV1QuestionAnsweringQualityResult struct {
	// Confidence: Output only. Confidence for question answering quality score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for question answering quality score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Question Answering Quality score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringQualityResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringQualityResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1QuestionAnsweringQualityResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringQualityResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1QuestionAnsweringQualitySpec: Spec for question
// answering quality score metric.
type GoogleCloudAiplatformV1QuestionAnsweringQualitySpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// question answering quality.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringQualitySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringQualitySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput: Input for question
// answering relevance metric.
type GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput struct {
	// Instance: Required. Question answering relevance instance.
	Instance *GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for question answering relevance score metric.
	MetricSpec *GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance: Spec for question
// answering relevance instance.
type GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance struct {
	// Context: Optional. Text provided as context to answer the question.
	Context string `json:"context,omitempty"`
	// Instruction: Required. The question asked and other instruction in the
	// inference prompt.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult: Spec for question
// answering relevance result.
type GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult struct {
	// Confidence: Output only. Confidence for question answering relevance score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for question answering relevance
	// score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Question Answering Relevance score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec: Spec for question
// answering relevance metric.
type GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// question answering relevance.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagChunk: A RagChunk includes the content of a chunk
// of a RagFile, and associated metadata.
type GoogleCloudAiplatformV1RagChunk struct {
	// PageSpan: If populated, represents where the chunk starts and ends in the
	// document.
	PageSpan *GoogleCloudAiplatformV1RagChunkPageSpan `json:"pageSpan,omitempty"`
	// Text: The content of the chunk.
	Text string `json:"text,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PageSpan") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PageSpan") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagChunk) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagChunk
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagChunkPageSpan: Represents where the chunk starts
// and ends in the document.
type GoogleCloudAiplatformV1RagChunkPageSpan struct {
	// FirstPage: Page where chunk starts in the document. Inclusive. 1-indexed.
	FirstPage int64 `json:"firstPage,omitempty"`
	// LastPage: Page where chunk ends in the document. Inclusive. 1-indexed.
	LastPage int64 `json:"lastPage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FirstPage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FirstPage") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagChunkPageSpan) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagChunkPageSpan
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagContexts: Relevant contexts for one query.
type GoogleCloudAiplatformV1RagContexts struct {
	// Contexts: All its contexts.
	Contexts []*GoogleCloudAiplatformV1RagContextsContext `json:"contexts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contexts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contexts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagContexts) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagContexts
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagContextsContext: A context of the query.
type GoogleCloudAiplatformV1RagContextsContext struct {
	// Chunk: Context of the retrieved chunk.
	Chunk *GoogleCloudAiplatformV1RagChunk `json:"chunk,omitempty"`
	// Score: According to the underlying Vector DB and the selected metric type,
	// the score can be either the distance or the similarity between the query and
	// the context and its range depends on the metric type. For example, if the
	// metric type is COSINE_DISTANCE, it represents the distance between the query
	// and the context. The larger the distance, the less relevant the context is
	// to the query. The range is [0, 2], while 0 means the most relevant and 2
	// means the least relevant.
	Score float64 `json:"score,omitempty"`
	// SourceDisplayName: The file display name.
	SourceDisplayName string `json:"sourceDisplayName,omitempty"`
	// SourceUri: If the file is imported from Cloud Storage or Google Drive,
	// source_uri will be original file URI in Cloud Storage or Google Drive; if
	// file is uploaded, source_uri will be file display name.
	SourceUri string `json:"sourceUri,omitempty"`
	// Text: The text chunk.
	Text string `json:"text,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Chunk") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Chunk") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagContextsContext) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagContextsContext
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1RagContextsContext) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1RagContextsContext
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1RagCorpus: A RagCorpus is a RagFile container and a
// project can have multiple RagCorpora.
type GoogleCloudAiplatformV1RagCorpus struct {
	// CorpusStatus: Output only. RagCorpus state.
	CorpusStatus *GoogleCloudAiplatformV1CorpusStatus `json:"corpusStatus,omitempty"`
	// CreateTime: Output only. Timestamp when this RagCorpus was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Optional. The description of the RagCorpus.
	Description string `json:"description,omitempty"`
	// DisplayName: Required. The display name of the RagCorpus. The name can be up
	// to 128 characters long and can consist of any UTF-8 characters.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: Optional. Immutable. The CMEK key name used to encrypt
	// at-rest data related to this Corpus. Only applicable to RagManagedDb option
	// for Vector DB. This field can only be set at corpus creation time, and
	// cannot be updated or deleted.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Name: Output only. The resource name of the RagCorpus.
	Name string `json:"name,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// UpdateTime: Output only. Timestamp when this RagCorpus was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// VectorDbConfig: Optional. Immutable. The config for the Vector DBs.
	VectorDbConfig *GoogleCloudAiplatformV1RagVectorDbConfig `json:"vectorDbConfig,omitempty"`
	// VertexAiSearchConfig: Optional. Immutable. The config for the Vertex AI
	// Search.
	VertexAiSearchConfig *GoogleCloudAiplatformV1VertexAiSearchConfig `json:"vertexAiSearchConfig,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CorpusStatus") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CorpusStatus") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagCorpus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagCorpus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagEmbeddingModelConfig: Config for the embedding
// model to use for RAG.
type GoogleCloudAiplatformV1RagEmbeddingModelConfig struct {
	// VertexPredictionEndpoint: The Vertex AI Prediction Endpoint that either
	// refers to a publisher model or an endpoint that is hosting a 1P fine-tuned
	// text embedding model. Endpoints hosting non-1P fine-tuned text embedding
	// models are currently not supported. This is used for dense vector search.
	VertexPredictionEndpoint *GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint `json:"vertexPredictionEndpoint,omitempty"`
	// ForceSendFields is a list of field names (e.g. "VertexPredictionEndpoint")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "VertexPredictionEndpoint") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagEmbeddingModelConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagEmbeddingModelConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint:
// Config representing a model hosted on Vertex Prediction Endpoint.
type GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint struct {
	// Endpoint: Required. The endpoint resource name. Format:
	// `projects/{project}/locations/{location}/publishers/{publisher}/models/{model
	// }` or `projects/{project}/locations/{location}/endpoints/{endpoint}`
	Endpoint string `json:"endpoint,omitempty"`
	// Model: Output only. The resource name of the model that is deployed on the
	// endpoint. Present only when the endpoint is not a publisher model. Pattern:
	// `projects/{project}/locations/{location}/models/{model}`
	Model string `json:"model,omitempty"`
	// ModelVersionId: Output only. Version ID of the model that is deployed on the
	// endpoint. Present only when the endpoint is not a publisher model.
	ModelVersionId string `json:"modelVersionId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Endpoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Endpoint") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagEngineConfig: Config for RagEngine.
type GoogleCloudAiplatformV1RagEngineConfig struct {
	// Name: Identifier. The name of the RagEngineConfig. Format:
	// `projects/{project}/locations/{location}/ragEngineConfig`
	Name string `json:"name,omitempty"`
	// RagManagedDbConfig: The config of the RagManagedDb used by RagEngine.
	RagManagedDbConfig *GoogleCloudAiplatformV1RagManagedDbConfig `json:"ragManagedDbConfig,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagEngineConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagEngineConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagFile: A RagFile contains user data for chunking,
// embedding and indexing.
type GoogleCloudAiplatformV1RagFile struct {
	// CreateTime: Output only. Timestamp when this RagFile was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Optional. The description of the RagFile.
	Description string `json:"description,omitempty"`
	// DirectUploadSource: Output only. The RagFile is encapsulated and uploaded in
	// the UploadRagFile request.
	DirectUploadSource *GoogleCloudAiplatformV1DirectUploadSource `json:"directUploadSource,omitempty"`
	// DisplayName: Required. The display name of the RagFile. The name can be up
	// to 128 characters long and can consist of any UTF-8 characters.
	DisplayName string `json:"displayName,omitempty"`
	// FileStatus: Output only. State of the RagFile.
	FileStatus *GoogleCloudAiplatformV1FileStatus `json:"fileStatus,omitempty"`
	// GcsSource: Output only. Google Cloud Storage location of the RagFile. It
	// does not support wildcards in the Cloud Storage uri for now.
	GcsSource *GoogleCloudAiplatformV1GcsSource `json:"gcsSource,omitempty"`
	// GoogleDriveSource: Output only. Google Drive location. Supports importing
	// individual files as well as Google Drive folders.
	GoogleDriveSource *GoogleCloudAiplatformV1GoogleDriveSource `json:"googleDriveSource,omitempty"`
	// JiraSource: The RagFile is imported from a Jira query.
	JiraSource *GoogleCloudAiplatformV1JiraSource `json:"jiraSource,omitempty"`
	// Name: Output only. The resource name of the RagFile.
	Name string `json:"name,omitempty"`
	// SharePointSources: The RagFile is imported from a SharePoint source.
	SharePointSources *GoogleCloudAiplatformV1SharePointSources `json:"sharePointSources,omitempty"`
	// SlackSource: The RagFile is imported from a Slack channel.
	SlackSource *GoogleCloudAiplatformV1SlackSource `json:"slackSource,omitempty"`
	// UpdateTime: Output only. Timestamp when this RagFile was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// UserMetadata: Output only. The metadata for metadata search. The
	// user_metadata Needs to be in JSON format.
	UserMetadata string `json:"userMetadata,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagFile) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagFile
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagFileChunkingConfig: Specifies the size and overlap
// of chunks for RagFiles.
type GoogleCloudAiplatformV1RagFileChunkingConfig struct {
	// FixedLengthChunking: Specifies the fixed length chunking config.
	FixedLengthChunking *GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking `json:"fixedLengthChunking,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FixedLengthChunking") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FixedLengthChunking") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagFileChunkingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagFileChunkingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking: Specifies
// the fixed length chunking config.
type GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking struct {
	// ChunkOverlap: The overlap between chunks.
	ChunkOverlap int64 `json:"chunkOverlap,omitempty"`
	// ChunkSize: The size of the chunks.
	ChunkSize int64 `json:"chunkSize,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ChunkOverlap") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ChunkOverlap") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagFileParsingConfig: Specifies the parsing config
// for RagFiles.
type GoogleCloudAiplatformV1RagFileParsingConfig struct {
	// LayoutParser: The Layout Parser to use for RagFiles.
	LayoutParser *GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser `json:"layoutParser,omitempty"`
	// LlmParser: The LLM Parser to use for RagFiles.
	LlmParser *GoogleCloudAiplatformV1RagFileParsingConfigLlmParser `json:"llmParser,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LayoutParser") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LayoutParser") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagFileParsingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagFileParsingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser: Document AI Layout
// Parser config.
type GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser struct {
	// MaxParsingRequestsPerMin: The maximum number of requests the job is allowed
	// to make to the Document AI processor per minute. Consult
	// https://cloud.google.com/document-ai/quotas and the Quota page for your
	// project to set an appropriate value here. If unspecified, a default value of
	// 120 QPM would be used.
	MaxParsingRequestsPerMin int64 `json:"maxParsingRequestsPerMin,omitempty"`
	// ProcessorName: The full resource name of a Document AI processor or
	// processor version. The processor must have type `LAYOUT_PARSER_PROCESSOR`.
	// If specified, the `additional_config.parse_as_scanned_pdf` field must be
	// false. Format: *
	// `projects/{project_id}/locations/{location}/processors/{processor_id}` *
	// `projects/{project_id}/locations/{location}/processors/{processor_id}/process
	// orVersions/{processor_version_id}`
	ProcessorName string `json:"processorName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxParsingRequestsPerMin")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxParsingRequestsPerMin") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagFileParsingConfigLlmParser: Specifies the LLM
// parsing for RagFiles.
type GoogleCloudAiplatformV1RagFileParsingConfigLlmParser struct {
	// CustomParsingPrompt: The prompt to use for parsing. If not specified, a
	// default prompt will be used.
	CustomParsingPrompt string `json:"customParsingPrompt,omitempty"`
	// MaxParsingRequestsPerMin: The maximum number of requests the job is allowed
	// to make to the LLM model per minute. Consult
	// https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your
	// document size to set an appropriate value here. If unspecified, a default
	// value of 5000 QPM would be used.
	MaxParsingRequestsPerMin int64 `json:"maxParsingRequestsPerMin,omitempty"`
	// ModelName: The name of a LLM model used for parsing. Format: *
	// `projects/{project_id}/locations/{location}/publishers/{publisher}/models/{mo
	// del}`
	ModelName string `json:"modelName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomParsingPrompt") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomParsingPrompt") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagFileParsingConfigLlmParser) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagFileParsingConfigLlmParser
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagFileTransformationConfig: Specifies the
// transformation config for RagFiles.
type GoogleCloudAiplatformV1RagFileTransformationConfig struct {
	// RagFileChunkingConfig: Specifies the chunking config for RagFiles.
	RagFileChunkingConfig *GoogleCloudAiplatformV1RagFileChunkingConfig `json:"ragFileChunkingConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagFileChunkingConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagFileChunkingConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagFileTransformationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagFileTransformationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagManagedDbConfig: Configuration message for
// RagManagedDb used by RagEngine.
type GoogleCloudAiplatformV1RagManagedDbConfig struct {
	// Basic: Deprecated: Use `mode` instead to set the tier under Spanner. Sets
	// the RagManagedDb to the Basic tier.
	Basic *GoogleCloudAiplatformV1RagManagedDbConfigBasic `json:"basic,omitempty"`
	// Scaled: Deprecated: Use `mode` instead to set the tier under Spanner. Sets
	// the RagManagedDb to the Scaled tier.
	Scaled *GoogleCloudAiplatformV1RagManagedDbConfigScaled `json:"scaled,omitempty"`
	// Serverless: Sets the backend to be the serverless mode offered by RAG
	// Engine.
	Serverless *GoogleCloudAiplatformV1RagManagedDbConfigServerless `json:"serverless,omitempty"`
	// Spanner: Sets the RAG Engine backend to be RagManagedDb, built on top of
	// Spanner. NOTE: This is the default mode (w/ Basic Tier) if not explicitly
	// chosen.
	Spanner *GoogleCloudAiplatformV1RagManagedDbConfigSpanner `json:"spanner,omitempty"`
	// Unprovisioned: Deprecated: Use `mode` instead to set the tier under Spanner.
	// Sets the RagManagedDb to the Unprovisioned tier.
	Unprovisioned *GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned `json:"unprovisioned,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Basic") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Basic") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagManagedDbConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagManagedDbConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagManagedDbConfigBasic: Basic tier is a
// cost-effective and low compute tier suitable for the following cases: *
// Experimenting with RagManagedDb. * Small data size. * Latency insensitive
// workload. * Only using RAG Engine with external vector DBs. NOTE: This is
// the default tier under Spanner mode if not explicitly chosen.
type GoogleCloudAiplatformV1RagManagedDbConfigBasic struct {
}

// GoogleCloudAiplatformV1RagManagedDbConfigScaled: Scaled tier offers
// production grade performance along with autoscaling functionality. It is
// suitable for customers with large amounts of data or performance sensitive
// workloads.
type GoogleCloudAiplatformV1RagManagedDbConfigScaled struct {
}

// GoogleCloudAiplatformV1RagManagedDbConfigServerless: Message to configure
// the serverless mode offered by RAG Engine.
type GoogleCloudAiplatformV1RagManagedDbConfigServerless struct {
}

// GoogleCloudAiplatformV1RagManagedDbConfigSpanner: Message to configure the
// Spanner database used by RagManagedDb.
type GoogleCloudAiplatformV1RagManagedDbConfigSpanner struct {
	// Basic: Sets the RagManagedDb to the Basic tier. This is the default tier for
	// Spanner mode if not explicitly chosen.
	Basic *GoogleCloudAiplatformV1RagManagedDbConfigBasic `json:"basic,omitempty"`
	// Scaled: Sets the RagManagedDb to the Scaled tier.
	Scaled *GoogleCloudAiplatformV1RagManagedDbConfigScaled `json:"scaled,omitempty"`
	// Unprovisioned: Sets the RagManagedDb to the Unprovisioned tier.
	Unprovisioned *GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned `json:"unprovisioned,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Basic") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Basic") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagManagedDbConfigSpanner) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagManagedDbConfigSpanner
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned: Disables the RAG
// Engine service and deletes all your data held within this service. This will
// halt the billing of the service. NOTE: Once deleted the data cannot be
// recovered. To start using RAG Engine again, you will need to update the tier
// by calling the UpdateRagEngineConfig API.
type GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned struct {
}

// GoogleCloudAiplatformV1RagQuery: A query to retrieve relevant contexts.
type GoogleCloudAiplatformV1RagQuery struct {
	// RagRetrievalConfig: Optional. The retrieval config for the query.
	RagRetrievalConfig *GoogleCloudAiplatformV1RagRetrievalConfig `json:"ragRetrievalConfig,omitempty"`
	// Text: Optional. The query in text format to get relevant contexts.
	Text string `json:"text,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagRetrievalConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagRetrievalConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagQuery) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagQuery
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagRetrievalConfig: Specifies the context retrieval
// config.
type GoogleCloudAiplatformV1RagRetrievalConfig struct {
	// Filter: Optional. Config for filters.
	Filter *GoogleCloudAiplatformV1RagRetrievalConfigFilter `json:"filter,omitempty"`
	// Ranking: Optional. Config for ranking and reranking.
	Ranking *GoogleCloudAiplatformV1RagRetrievalConfigRanking `json:"ranking,omitempty"`
	// TopK: Optional. The number of contexts to retrieve.
	TopK int64 `json:"topK,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagRetrievalConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagRetrievalConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagRetrievalConfigFilter: Config for filters.
type GoogleCloudAiplatformV1RagRetrievalConfigFilter struct {
	// MetadataFilter: Optional. String for metadata filtering.
	MetadataFilter string `json:"metadataFilter,omitempty"`
	// VectorDistanceThreshold: Optional. Only returns contexts with vector
	// distance smaller than the threshold.
	VectorDistanceThreshold float64 `json:"vectorDistanceThreshold,omitempty"`
	// VectorSimilarityThreshold: Optional. Only returns contexts with vector
	// similarity larger than the threshold.
	VectorSimilarityThreshold float64 `json:"vectorSimilarityThreshold,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MetadataFilter") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MetadataFilter") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagRetrievalConfigFilter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagRetrievalConfigFilter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1RagRetrievalConfigFilter) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1RagRetrievalConfigFilter
	var s1 struct {
		VectorDistanceThreshold   gensupport.JSONFloat64 `json:"vectorDistanceThreshold"`
		VectorSimilarityThreshold gensupport.JSONFloat64 `json:"vectorSimilarityThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.VectorDistanceThreshold = float64(s1.VectorDistanceThreshold)
	s.VectorSimilarityThreshold = float64(s1.VectorSimilarityThreshold)
	return nil
}

// GoogleCloudAiplatformV1RagRetrievalConfigRanking: Config for ranking and
// reranking.
type GoogleCloudAiplatformV1RagRetrievalConfigRanking struct {
	// LlmRanker: Optional. Config for LlmRanker.
	LlmRanker *GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker `json:"llmRanker,omitempty"`
	// RankService: Optional. Config for Rank Service.
	RankService *GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService `json:"rankService,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LlmRanker") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LlmRanker") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagRetrievalConfigRanking) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagRetrievalConfigRanking
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker: Config for
// LlmRanker.
type GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker struct {
	// ModelName: Optional. The model name used for ranking. See Supported models
	// (https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models).
	ModelName string `json:"modelName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService: Config for Rank
// Service.
type GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService struct {
	// ModelName: Optional. The model name of the rank service. Format:
	// `semantic-ranker-512@latest`
	ModelName string `json:"modelName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagVectorDbConfig: Config for the Vector DB to use
// for RAG.
type GoogleCloudAiplatformV1RagVectorDbConfig struct {
	// ApiAuth: Authentication config for the chosen Vector DB.
	ApiAuth *GoogleCloudAiplatformV1ApiAuth `json:"apiAuth,omitempty"`
	// Pinecone: The config for the Pinecone.
	Pinecone *GoogleCloudAiplatformV1RagVectorDbConfigPinecone `json:"pinecone,omitempty"`
	// RagEmbeddingModelConfig: Optional. Immutable. The embedding model config of
	// the Vector DB.
	RagEmbeddingModelConfig *GoogleCloudAiplatformV1RagEmbeddingModelConfig `json:"ragEmbeddingModelConfig,omitempty"`
	// RagManagedDb: The config for the RAG-managed Vector DB.
	RagManagedDb *GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb `json:"ragManagedDb,omitempty"`
	// VertexVectorSearch: The config for the Vertex Vector Search.
	VertexVectorSearch *GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch `json:"vertexVectorSearch,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiAuth") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiAuth") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagVectorDbConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagVectorDbConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagVectorDbConfigPinecone: The config for the
// Pinecone.
type GoogleCloudAiplatformV1RagVectorDbConfigPinecone struct {
	// IndexName: Pinecone index name. This value cannot be changed after it's set.
	IndexName string `json:"indexName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IndexName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IndexName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagVectorDbConfigPinecone) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagVectorDbConfigPinecone
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb: The config for the
// default RAG-managed Vector DB.
type GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb struct {
	// Ann: Performs an ANN search on RagCorpus. Use this if you have a lot of
	// files (> 10K) in your RagCorpus and want to reduce the search latency.
	Ann *GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN `json:"ann,omitempty"`
	// Knn: Performs a KNN search on RagCorpus. Default choice if not specified.
	Knn *GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN `json:"knn,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Ann") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Ann") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN: Config for ANN
// search. RagManagedDb uses a tree-based structure to partition data and
// facilitate faster searches. As a tradeoff, it requires longer indexing time
// and manual triggering of index rebuild via the ImportRagFiles and
// UpdateRagCorpus API.
type GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN struct {
	// LeafCount: Number of leaf nodes in the tree-based structure. Each leaf node
	// contains groups of closely related vectors along with their corresponding
	// centroid. Recommended value is 10 * sqrt(num of RagFiles in your RagCorpus).
	// Default value is 500.
	LeafCount int64 `json:"leafCount,omitempty"`
	// TreeDepth: The depth of the tree-based structure. Only depth values of 2 and
	// 3 are supported. Recommended value is 2 if you have if you have O(10K) files
	// in the RagCorpus and set this to 3 if more than that. Default value is 2.
	TreeDepth int64 `json:"treeDepth,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LeafCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LeafCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN: Config for KNN
// search.
type GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN struct {
}

// GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch: The config for
// the Vertex Vector Search.
type GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch struct {
	// Index: The resource name of the Index. Format:
	// `projects/{project}/locations/{location}/indexes/{index}`
	Index string `json:"index,omitempty"`
	// IndexEndpoint: The resource name of the Index Endpoint. Format:
	// `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`
	IndexEndpoint string `json:"indexEndpoint,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Index") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Index") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RawOutput: Raw output.
type GoogleCloudAiplatformV1RawOutput struct {
	// RawOutput: Output only. Raw output string.
	RawOutput []string `json:"rawOutput,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RawOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RawOutput") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RawOutput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RawOutput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RawPredictRequest: Request message for
// PredictionService.RawPredict.
type GoogleCloudAiplatformV1RawPredictRequest struct {
	// HttpBody: The prediction input. Supports HTTP headers and arbitrary data
	// payload. A 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 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 field when you create a Model. This
	// schema applies when you deploy the `Model` as a `DeployedModel` to an
	// Endpoint and use the `RawPredict` method.
	HttpBody *GoogleApiHttpBody `json:"httpBody,omitempty"`
	// ForceSendFields is a list of field names (e.g. "HttpBody") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HttpBody") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RawPredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RawPredictRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RayLogsSpec: Configuration for the Ray OSS Logs.
type GoogleCloudAiplatformV1RayLogsSpec struct {
	// Disabled: Optional. Flag to disable the export of Ray OSS logs to Cloud
	// Logging.
	Disabled bool `json:"disabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Disabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Disabled") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RayLogsSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RayLogsSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RayMetricSpec: Configuration for the Ray metrics.
type GoogleCloudAiplatformV1RayMetricSpec struct {
	// Disabled: Optional. Flag to disable the Ray metrics collection.
	Disabled bool `json:"disabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Disabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Disabled") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RayMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RayMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RaySpec: 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 GoogleCloudAiplatformV1RaySpec struct {
	// HeadNodeResourcePoolId: 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 `json:"headNodeResourcePoolId,omitempty"`
	// ImageUri: 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 `json:"imageUri,omitempty"`
	// RayLogsSpec: Optional. OSS Ray logging configurations.
	RayLogsSpec *GoogleCloudAiplatformV1RayLogsSpec `json:"rayLogsSpec,omitempty"`
	// RayMetricSpec: Optional. Ray metrics configurations.
	RayMetricSpec *GoogleCloudAiplatformV1RayMetricSpec `json:"rayMetricSpec,omitempty"`
	// ResourcePoolImages: 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 `json:"resourcePoolImages,omitempty"`
	// ForceSendFields is a list of field names (e.g. "HeadNodeResourcePoolId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HeadNodeResourcePoolId") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RaySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RaySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadFeatureValuesRequest: Request message for
// FeaturestoreOnlineServingService.ReadFeatureValues.
type GoogleCloudAiplatformV1ReadFeatureValuesRequest struct {
	// EntityId: 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 `json:"entityId,omitempty"`
	// FeatureSelector: Required. Selector choosing Features of the target
	// EntityType.
	FeatureSelector *GoogleCloudAiplatformV1FeatureSelector `json:"featureSelector,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntityId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadFeatureValuesResponse: Response message for
// FeaturestoreOnlineServingService.ReadFeatureValues.
type GoogleCloudAiplatformV1ReadFeatureValuesResponse struct {
	// EntityView: 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 *GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView `json:"entityView,omitempty"`
	// Header: Response header.
	Header *GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader `json:"header,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "EntityView") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityView") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadFeatureValuesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView: Entity view with
// Feature values.
type GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView struct {
	// Data: 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.
	Data []*GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData `json:"data,omitempty"`
	// EntityId: ID of the requested entity.
	EntityId string `json:"entityId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Data") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData: Container to
// hold value(s), successive in time, for one Feature from the request.
type GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData struct {
	// Value: Feature value if a single value is requested.
	Value *GoogleCloudAiplatformV1FeatureValue `json:"value,omitempty"`
	// Values: 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 *GoogleCloudAiplatformV1FeatureValueList `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Value") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor: Metadata
// for requested Features.
type GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor struct {
	// Id: Feature ID.
	Id string `json:"id,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Id") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader: Response header with
// metadata for the requested ReadFeatureValuesRequest.entity_type and
// Features.
type GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader struct {
	// EntityType: The resource name of the EntityType from the
	// ReadFeatureValuesRequest. Value format:
	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityT
	// ypes/{entityType}`.
	EntityType string `json:"entityType,omitempty"`
	// FeatureDescriptors: List of Feature metadata corresponding to each piece of
	// ReadFeatureValuesResponse.EntityView.data.
	FeatureDescriptors []*GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor `json:"featureDescriptors,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntityType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadIndexDatapointsRequest: The request message for
// MatchService.ReadIndexDatapoints.
type GoogleCloudAiplatformV1ReadIndexDatapointsRequest struct {
	// DeployedIndexId: The ID of the DeployedIndex that will serve the request.
	DeployedIndexId string `json:"deployedIndexId,omitempty"`
	// Ids: IDs of the datapoints to be searched for.
	Ids []string `json:"ids,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndexId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndexId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadIndexDatapointsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadIndexDatapointsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadIndexDatapointsResponse: The response message for
// MatchService.ReadIndexDatapoints.
type GoogleCloudAiplatformV1ReadIndexDatapointsResponse struct {
	// Datapoints: The result list of datapoints.
	Datapoints []*GoogleCloudAiplatformV1IndexDatapoint `json:"datapoints,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Datapoints") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Datapoints") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadIndexDatapointsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadIndexDatapointsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse: Response message for
// TensorboardService.ReadTensorboardBlobData.
type GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse struct {
	// Blobs: Blob messages containing blob bytes.
	Blobs []*GoogleCloudAiplatformV1TensorboardBlob `json:"blobs,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Blobs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Blobs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadTensorboardSizeResponse: Response message for
// TensorboardService.ReadTensorboardSize.
type GoogleCloudAiplatformV1ReadTensorboardSizeResponse struct {
	// StorageSizeByte: Payload storage size for the TensorBoard
	StorageSizeByte int64 `json:"storageSizeByte,omitempty,string"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "StorageSizeByte") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "StorageSizeByte") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadTensorboardSizeResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardSizeResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse: Response
// message for TensorboardService.ReadTensorboardTimeSeriesData.
type GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse struct {
	// TimeSeriesData: The returned time series data.
	TimeSeriesData *GoogleCloudAiplatformV1TimeSeriesData `json:"timeSeriesData,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "TimeSeriesData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TimeSeriesData") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadTensorboardUsageResponse: Response message for
// TensorboardService.ReadTensorboardUsage.
type GoogleCloudAiplatformV1ReadTensorboardUsageResponse struct {
	// MonthlyUsageData: Maps year-month (YYYYMM) string to per month usage data.
	MonthlyUsageData map[string]GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData `json:"monthlyUsageData,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MonthlyUsageData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MonthlyUsageData") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadTensorboardUsageResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardUsageResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData: Per
// month usage data
type GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData struct {
	// UserUsageData: Usage data for each user in the given month.
	UserUsageData []*GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData `json:"userUsageData,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UserUsageData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UserUsageData") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData: Per
// user usage data.
type GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData struct {
	// Username: User's username
	Username string `json:"username,omitempty"`
	// ViewCount: Number of times the user has read data within the Tensorboard.
	ViewCount int64 `json:"viewCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Username") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Username") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngine: ReasoningEngine provides a
// customizable runtime for models to determine which actions to take and in
// which order.
type GoogleCloudAiplatformV1ReasoningEngine struct {
	// ContextSpec: Optional. Configuration for how Agent Engine sub-resources
	// should manage context.
	ContextSpec *GoogleCloudAiplatformV1ReasoningEngineContextSpec `json:"contextSpec,omitempty"`
	// CreateTime: Output only. Timestamp when this ReasoningEngine was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Optional. The description of the ReasoningEngine.
	Description string `json:"description,omitempty"`
	// DisplayName: Required. The display name of the ReasoningEngine.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: Customer-managed encryption key spec for a ReasoningEngine.
	// If set, this ReasoningEngine and all sub-resources of this ReasoningEngine
	// will be secured by this key.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Optional. Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: Labels for the ReasoningEngine.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The resource name of the ReasoningEngine. Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`
	Name string `json:"name,omitempty"`
	// Spec: Optional. Configurations of the ReasoningEngine
	Spec *GoogleCloudAiplatformV1ReasoningEngineSpec `json:"spec,omitempty"`
	// UpdateTime: Output only. Timestamp when this ReasoningEngine was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ContextSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContextSpec") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngine) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngine
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineContextSpec: Configuration for how
// Agent Engine sub-resources should manage context.
type GoogleCloudAiplatformV1ReasoningEngineContextSpec struct {
	// MemoryBankConfig: Optional. Specification for a Memory Bank, which manages
	// memories for the Agent Engine.
	MemoryBankConfig *GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfig `json:"memoryBankConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MemoryBankConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MemoryBankConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineContextSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineContextSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfig:
// Specification for a Memory Bank.
type GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfig struct {
	// CustomizationConfigs: Optional. Configuration for how to customize Memory
	// Bank behavior for a particular scope.
	CustomizationConfigs []*GoogleCloudAiplatformV1MemoryBankCustomizationConfig `json:"customizationConfigs,omitempty"`
	// DisableMemoryRevisions: If true, no memory revisions will be created for any
	// requests to the Memory Bank.
	DisableMemoryRevisions bool `json:"disableMemoryRevisions,omitempty"`
	// GenerationConfig: Optional. Configuration for how to generate memories for
	// the Memory Bank.
	GenerationConfig *GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigGenerationConfig `json:"generationConfig,omitempty"`
	// SimilaritySearchConfig: Optional. Configuration for how to perform
	// similarity search on memories. If not set, the Memory Bank will use the
	// default embedding model `text-embedding-005`.
	SimilaritySearchConfig *GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig `json:"similaritySearchConfig,omitempty"`
	// TtlConfig: Optional. Configuration for automatic TTL ("time-to-live") of the
	// memories in the Memory Bank. If not set, TTL will not be applied
	// automatically. The TTL can be explicitly set by modifying the `expire_time`
	// of each Memory resource.
	TtlConfig *GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfig `json:"ttlConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomizationConfigs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomizationConfigs") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigGenerationCo
// nfig: Configuration for how to generate memories.
type GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigGenerationConfig struct {
	// GenerationTriggerConfig: Optional. Specifies the default trigger
	// configuration for generating memories using `IngestEvents`.
	GenerationTriggerConfig *GoogleCloudAiplatformV1MemoryGenerationTriggerConfig `json:"generationTriggerConfig,omitempty"`
	// Model: Optional. The model used to generate memories. Format:
	// `projects/{project}/locations/{location}/publishers/google/models/{model}`.
	Model string `json:"model,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenerationTriggerConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenerationTriggerConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigGenerationConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigGenerationConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigSimilaritySe
// archConfig: Configuration for how to perform similarity search on memories.
type GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig struct {
	// EmbeddingModel: Required. The model used to generate embeddings to lookup
	// similar memories. Format:
	// `projects/{project}/locations/{location}/publishers/google/models/{model}`.
	EmbeddingModel string `json:"embeddingModel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EmbeddingModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EmbeddingModel") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigSimilaritySearchConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfig:
// Configuration for automatically setting the TTL ("time-to-live") of the
// memories in the Memory Bank.
type GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfig struct {
	// DefaultTtl: Optional. The default TTL duration of the memories in the Memory
	// Bank. This applies to all operations that create or update a memory.
	DefaultTtl string `json:"defaultTtl,omitempty"`
	// GranularTtlConfig: Optional. The granular TTL configuration of the memories
	// in the Memory Bank.
	GranularTtlConfig *GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfigGranularTtlConfig `json:"granularTtlConfig,omitempty"`
	// MemoryRevisionDefaultTtl: Optional. The default TTL duration of the memory
	// revisions in the Memory Bank. This applies to all operations that create a
	// memory revision. If not set, a default TTL of 365 days will be used.
	MemoryRevisionDefaultTtl string `json:"memoryRevisionDefaultTtl,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DefaultTtl") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DefaultTtl") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfigGra
// nularTtlConfig: Configuration for TTL of the memories in the Memory Bank
// based on the action that created or updated the memory.
type GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfigGranularTtlConfig struct {
	// CreateTtl: Optional. The TTL duration for memories uploaded via
	// CreateMemory.
	CreateTtl string `json:"createTtl,omitempty"`
	// GenerateCreatedTtl: Optional. The TTL duration for memories newly generated
	// via GenerateMemories
	// (GenerateMemoriesResponse.GeneratedMemory.Action.CREATED).
	GenerateCreatedTtl string `json:"generateCreatedTtl,omitempty"`
	// GenerateUpdatedTtl: Optional. The TTL duration for memories updated via
	// GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.UPDATED).
	// In the case of an UPDATE action, the `expire_time` of the existing memory
	// will be updated to the new value (now + TTL).
	GenerateUpdatedTtl string `json:"generateUpdatedTtl,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CreateTtl") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTtl") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfigGranularTtlConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineContextSpecMemoryBankConfigTtlConfigGranularTtlConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpec: ReasoningEngine configurations
type GoogleCloudAiplatformV1ReasoningEngineSpec struct {
	// AgentFramework: Optional. The OSS agent framework used to develop the agent.
	// Currently supported values: "google-adk", "langchain", "langgraph", "ag2",
	// "llama-index", "custom".
	AgentFramework string `json:"agentFramework,omitempty"`
	// ClassMethods: Optional. Declarations for object class methods in OpenAPI
	// specification format.
	ClassMethods []googleapi.RawMessage `json:"classMethods,omitempty"`
	// ContainerSpec: Deploy from a container image with a defined entrypoint and
	// commands.
	ContainerSpec *GoogleCloudAiplatformV1ReasoningEngineSpecContainerSpec `json:"containerSpec,omitempty"`
	// DeploymentSpec: Optional. The specification of a Reasoning Engine
	// deployment.
	DeploymentSpec *GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec `json:"deploymentSpec,omitempty"`
	// EffectiveIdentity: Output only. The identity to use for the Reasoning
	// Engine. It can contain one of the following values: *
	// service-{project}@gcp-sa-aiplatform-re.googleapis.com (for SERVICE_AGENT
	// identity type) * {name}@{project}.gserviceaccount.com (for SERVICE_ACCOUNT
	// identity type) *
	// agents.global.{org}.system.id.goog/resources/aiplatform/projects/{project}/lo
	// cations/{location}/reasoningEngines/{reasoning_engine} (for AGENT_IDENTITY
	// identity type)
	EffectiveIdentity string `json:"effectiveIdentity,omitempty"`
	// IdentityType: Optional. The identity type to use for the Reasoning Engine.
	// If not specified, the `service_account` field will be used if set, otherwise
	// the default Vertex AI Reasoning Engine Service Agent in the project will be
	// used.
	//
	// Possible values:
	//   "IDENTITY_TYPE_UNSPECIFIED" - Default value. Use a custom service account
	// if the `service_account` field is set, otherwise use the default Vertex AI
	// Reasoning Engine Service Agent in the project. Same behavior as
	// SERVICE_ACCOUNT.
	//   "SERVICE_ACCOUNT" - Use a custom service account if the `service_account`
	// field is set, otherwise use the default Vertex AI Reasoning Engine Service
	// Agent in the project.
	//   "AGENT_IDENTITY" - Use Agent Identity. The `service_account` field must
	// not be set.
	IdentityType string `json:"identityType,omitempty"`
	// PackageSpec: Optional. User provided package spec of the ReasoningEngine.
	// Ignored when users directly specify a deployment image through
	// `deployment_spec.first_party_image_override`, but keeping the field_behavior
	// to avoid introducing breaking changes. The `deployment_source` field should
	// not be set if `package_spec` is specified.
	PackageSpec *GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec `json:"packageSpec,omitempty"`
	// ServiceAccount: Optional. The service account that the Reasoning Engine
	// artifact runs as. It should have "roles/storage.objectViewer" for reading
	// the user project's Cloud Storage and "roles/aiplatform.user" for using
	// Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service
	// Agent in the project will be used.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// SourceCodeSpec: Deploy from source code files with a defined entrypoint.
	SourceCodeSpec *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec `json:"sourceCodeSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentFramework") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentFramework") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecContainerSpec: Specification for
// deploying from a container image.
type GoogleCloudAiplatformV1ReasoningEngineSpecContainerSpec struct {
	// ImageUri: Required. The Artifact Registry Docker image URI (e.g.,
	// us-central1-docker.pkg.dev/my-project/my-repo/my-image:tag) of the container
	// image that is to be run on each worker replica.
	ImageUri string `json:"imageUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ImageUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImageUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecContainerSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecContainerSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec: The specification
// of a Reasoning Engine deployment.
type GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec struct {
	// ContainerConcurrency: Optional. Concurrency for each container and agent
	// server. Recommended value: 2 * cpu + 1. Defaults to 9.
	ContainerConcurrency int64 `json:"containerConcurrency,omitempty"`
	// Env: Optional. Environment variables to be set with the Reasoning Engine
	// deployment. The environment variables can be updated through the
	// UpdateReasoningEngine API.
	Env []*GoogleCloudAiplatformV1EnvVar `json:"env,omitempty"`
	// KeepAliveProbe: Optional. Specifies the configuration for keep-alive probe.
	// Contains configuration on a specified endpoint that a deployment host should
	// use to keep the container alive based on the probe settings.
	KeepAliveProbe *GoogleCloudAiplatformV1KeepAliveProbe `json:"keepAliveProbe,omitempty"`
	// MaxInstances: Optional. The maximum number of application instances that can
	// be launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
	// If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
	MaxInstances int64 `json:"maxInstances,omitempty"`
	// MinInstances: Optional. The minimum number of application instances that
	// will be kept running at all times. Defaults to 1. Range: [0, 75].
	MinInstances int64 `json:"minInstances,omitempty"`
	// PscInterfaceConfig: Optional. Configuration for PSC-I.
	PscInterfaceConfig *GoogleCloudAiplatformV1PscInterfaceConfig `json:"pscInterfaceConfig,omitempty"`
	// ResourceLimits: Optional. Resource limits for each container. Only 'cpu' and
	// 'memory' keys are supported. Defaults to {"cpu": "4", "memory": "4Gi"}. *
	// The only supported values for CPU are '1', '2', '4', '6' and '8'. For more
	// information, go to https://cloud.google.com/run/docs/configuring/cpu. * The
	// only supported values for memory are '1Gi', '2Gi', ... '32 Gi'. * For
	// required cpu on different memory values, go to
	// https://cloud.google.com/run/docs/configuring/memory-limits
	ResourceLimits map[string]string `json:"resourceLimits,omitempty"`
	// SecretEnv: Optional. Environment variables where the value is a secret in
	// Cloud Secret Manager. To use this feature, add 'Secret Manager Secret
	// Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning
	// Engine Service Agent.
	SecretEnv []*GoogleCloudAiplatformV1SecretEnvVar `json:"secretEnv,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContainerConcurrency") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContainerConcurrency") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec: User-provided package
// specification, containing pickled object and package requirements.
type GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec struct {
	// DependencyFilesGcsUri: Optional. The Cloud Storage URI of the dependency
	// files in tar.gz format.
	DependencyFilesGcsUri string `json:"dependencyFilesGcsUri,omitempty"`
	// PickleObjectGcsUri: Optional. The Cloud Storage URI of the pickled python
	// object.
	PickleObjectGcsUri string `json:"pickleObjectGcsUri,omitempty"`
	// PythonVersion: Optional. The Python version. Supported values are 3.9, 3.10,
	// 3.11, 3.12, 3.13, 3.14. If not specified, the default value is 3.10.
	PythonVersion string `json:"pythonVersion,omitempty"`
	// RequirementsGcsUri: Optional. The Cloud Storage URI of the
	// `requirements.txt` file
	RequirementsGcsUri string `json:"requirementsGcsUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DependencyFilesGcsUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DependencyFilesGcsUri") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec: Specification for
// deploying from source code.
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec struct {
	// AgentConfigSource: Source code is generated from the agent config.
	AgentConfigSource *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource `json:"agentConfigSource,omitempty"`
	// DeveloperConnectSource: Source code is in a Git repository managed by
	// Developer Connect.
	DeveloperConnectSource *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource `json:"developerConnectSource,omitempty"`
	// ImageSpec: Optional. Configuration for building an image with custom config
	// file.
	ImageSpec *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec `json:"imageSpec,omitempty"`
	// InlineSource: Source code is provided directly in the request.
	InlineSource *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource `json:"inlineSource,omitempty"`
	// PythonSpec: Configuration for a Python application.
	PythonSpec *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec `json:"pythonSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AgentConfigSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgentConfigSource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource:
// Specification for the deploying from agent config.
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource struct {
	// AdkConfig: Required. The ADK configuration.
	AdkConfig *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig `json:"adkConfig,omitempty"`
	// InlineSource: Optional. Any additional files needed to interpret the config.
	// If a `requirements.txt` file is present in the `inline_source`, the
	// corresponding packages will be installed. If no `requirements.txt` file is
	// present in `inline_source`, then the latest version of `google-adk` will be
	// installed for interpreting the ADK config.
	InlineSource *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource `json:"inlineSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdkConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdkConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkC
// onfig: Configuration for the Agent Development Kit (ADK).
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig struct {
	// JsonConfig: Required. The value of the ADK config in JSON format.
	JsonConfig googleapi.RawMessage `json:"jsonConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "JsonConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "JsonConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfi
// g: Specifies the configuration for fetching source code from a Git
// repository that is managed by Developer Connect. This includes the
// repository, revision, and directory to use.
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig struct {
	// Dir: Required. Directory, relative to the source root, in which to run the
	// build.
	Dir string `json:"dir,omitempty"`
	// GitRepositoryLink: Required. The Developer Connect Git repository link,
	// formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
	GitRepositoryLink string `json:"gitRepositoryLink,omitempty"`
	// Revision: Required. The revision to fetch from the Git repository such as a
	// branch, a tag, a commit SHA, or any Git ref.
	Revision string `json:"revision,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dir") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dir") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSourc
// e: Specifies source code to be fetched from a Git repository managed through
// the Developer Connect service.
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource struct {
	// Config: Required. The Developer Connect configuration that defines the
	// specific repository, revision, and directory to use as the source code root.
	Config *GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig `json:"config,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Config") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Config") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec: The image
// spec for building an image (within a single build step), based on the config
// file (i.e. Dockerfile) in the source directory.
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec struct {
	// BuildArgs: Optional. Build arguments to be used. They will be passed through
	// --build-arg flags.
	BuildArgs map[string]string `json:"buildArgs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BuildArgs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BuildArgs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource:
// Specifies source code provided as a byte stream.
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource struct {
	// SourceArchive: Required. Input only. The application source code archive. It
	// must be a compressed tarball (.tar.gz) file.
	SourceArchive string `json:"sourceArchive,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SourceArchive") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SourceArchive") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec:
// Specification for running a Python application from source.
type GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec struct {
	// EntrypointModule: Optional. The Python module to load as the entrypoint,
	// specified as a fully qualified module name. For example: path.to.agent. If
	// not specified, defaults to "agent". The project root will be added to Python
	// sys.path, allowing imports to be specified relative to the root. This field
	// should not be set if the source is `agent_config_source`.
	EntrypointModule string `json:"entrypointModule,omitempty"`
	// EntrypointObject: Optional. The name of the callable object within the
	// `entrypoint_module` to use as the application If not specified, defaults to
	// "root_agent". This field should not be set if the source is
	// `agent_config_source`.
	EntrypointObject string `json:"entrypointObject,omitempty"`
	// RequirementsFile: Optional. The path to the requirements file, relative to
	// the source root. If not specified, defaults to "requirements.txt".
	RequirementsFile string `json:"requirementsFile,omitempty"`
	// Version: Optional. The version of Python to use. Support version includes
	// 3.9, 3.10, 3.11, 3.12, 3.13, 3.14. If not specified, default value is 3.10.
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntrypointModule") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntrypointModule") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RebaseTunedModelRequest: Request message for
// GenAiTuningService.RebaseTunedModel.
type GoogleCloudAiplatformV1RebaseTunedModelRequest struct {
	// ArtifactDestination: Optional. The Google Cloud Storage location to write
	// the artifacts to.
	ArtifactDestination *GoogleCloudAiplatformV1GcsDestination `json:"artifactDestination,omitempty"`
	// DeployToSameEndpoint: Optional. By default, rebasing a model creates a new
	// endpoint for the new model. If this flag is set to true, the new model will
	// be deployed to the same endpoint as the original model. WARNING: If you
	// deploy to the same endpoint, the original model will be un-deployed and
	// replaced by the new model.
	DeployToSameEndpoint bool `json:"deployToSameEndpoint,omitempty"`
	// TunedModelRef: Required. A reference to the tuned model to rebase.
	TunedModelRef *GoogleCloudAiplatformV1TunedModelRef `json:"tunedModelRef,omitempty"`
	// TuningJob: Optional. The tuning job to be updated. Users can use this field
	// to overwrite tuning configs.
	TuningJob *GoogleCloudAiplatformV1TuningJob `json:"tuningJob,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArtifactDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactDestination") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RebaseTunedModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RebaseTunedModelRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata: Details of
// operations that perform reboot PersistentResource.
type GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata struct {
	// GenericMetadata: Operation metadata for PersistentResource.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ProgressMessage: Progress Message for Reboot LRO
	ProgressMessage string `json:"progressMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RebootPersistentResourceRequest: Request message for
// PersistentResourceService.RebootPersistentResource.
type GoogleCloudAiplatformV1RebootPersistentResourceRequest struct {
}

// GoogleCloudAiplatformV1RemoveContextChildrenRequest: Request message for
// MetadataService.DeleteContextChildrenRequest.
type GoogleCloudAiplatformV1RemoveContextChildrenRequest struct {
	// ChildContexts: The resource names of the child Contexts.
	ChildContexts []string `json:"childContexts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ChildContexts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ChildContexts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RemoveContextChildrenRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RemoveContextChildrenRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RemoveContextChildrenResponse: Response message for
// MetadataService.RemoveContextChildren.
type GoogleCloudAiplatformV1RemoveContextChildrenResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1RemoveDatapointsRequest: Request message for
// IndexService.RemoveDatapoints
type GoogleCloudAiplatformV1RemoveDatapointsRequest struct {
	// DatapointIds: A list of datapoint ids to be deleted.
	DatapointIds []string `json:"datapointIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DatapointIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DatapointIds") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RemoveDatapointsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RemoveDatapointsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RemoveDatapointsResponse: Response message for
// IndexService.RemoveDatapoints
type GoogleCloudAiplatformV1RemoveDatapointsResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1ReplicatedVoiceConfig: The configuration for the
// replicated voice to use.
type GoogleCloudAiplatformV1ReplicatedVoiceConfig struct {
	// MimeType: Optional. The mimetype of the voice sample. The only currently
	// supported value is `audio/wav`. This represents 16-bit signed little-endian
	// wav data, with a 24kHz sampling rate. `mime_type` will default to
	// `audio/wav` if not set.
	MimeType string `json:"mimeType,omitempty"`
	// VoiceSampleAudio: Optional. The sample of the custom voice.
	VoiceSampleAudio string `json:"voiceSampleAudio,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MimeType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MimeType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReplicatedVoiceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReplicatedVoiceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ReservationAffinity: A ReservationAffinity can be
// used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its
// Compute Engine resources from a Shared Reservation, or exclusively from
// on-demand capacity.
type GoogleCloudAiplatformV1ReservationAffinity struct {
	// Key: Optional. Corresponds to the label key of a reservation resource. To
	// target a SPECIFIC_RESERVATION by name, use
	// `compute.googleapis.com/reservation-name` as the key and specify the name of
	// your reservation as its value.
	Key string `json:"key,omitempty"`
	// ReservationAffinityType: Required. Specifies the reservation affinity type.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Default value. This should not be used.
	//   "NO_RESERVATION" - Do not consume from any reserved capacity, only use
	// on-demand.
	//   "ANY_RESERVATION" - Consume any reservation available, falling back to
	// on-demand.
	//   "SPECIFIC_RESERVATION" - Consume from a specific reservation. When chosen,
	// the reservation must be identified via the `key` and `values` fields.
	ReservationAffinityType string `json:"reservationAffinityType,omitempty"`
	// Values: Optional. Corresponds to the label values of a reservation resource.
	// This must be the full resource name of the reservation or reservation block.
	Values []string `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Key") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ReservationAffinity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReservationAffinity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ResourcePool: Represents the spec of a group of
// resources of the same type, for example machine type, disk, and
// accelerators, in a PersistentResource.
type GoogleCloudAiplatformV1ResourcePool struct {
	// AutoscalingSpec: Optional. Optional spec to configure GKE or Ray-on-Vertex
	// autoscaling
	AutoscalingSpec *GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec `json:"autoscalingSpec,omitempty"`
	// DiskSpec: Optional. Disk spec for the machine in this node pool.
	DiskSpec *GoogleCloudAiplatformV1DiskSpec `json:"diskSpec,omitempty"`
	// Id: 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 `json:"id,omitempty"`
	// MachineSpec: Required. Immutable. The specification of a single machine.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// ReplicaCount: Optional. The total number of machines to use for this
	// resource pool.
	ReplicaCount int64 `json:"replicaCount,omitempty,string"`
	// UsedReplicaCount: Output only. The number of machines currently in use by
	// training jobs for this resource pool. Will replace idle_replica_count.
	UsedReplicaCount int64 `json:"usedReplicaCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "AutoscalingSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoscalingSpec") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ResourcePool) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResourcePool
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec: The min/max number of
// replicas allowed if enabling autoscaling
type GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec struct {
	// MaxReplicaCount: Optional. max replicas in the node pool, must be ≥
	// replica_count and > min_replica_count or will throw error
	MaxReplicaCount int64 `json:"maxReplicaCount,omitempty,string"`
	// MinReplicaCount: Optional. min replicas in the node pool, must be ≤
	// replica_count and < max_replica_count or will throw error. For autoscaling
	// enabled Ray-on-Vertex, we allow min_replica_count of a resource_pool to be 0
	// to match the OSS Ray
	// behavior(https://docs.ray.io/en/latest/cluster/vms/user-guides/configuring-au
	// toscaling.html#cluster-config-parameters). As for Persistent Resource, the
	// min_replica_count must be > 0, we added a corresponding validation inside
	// CreatePersistentResourceRequestValidator.java.
	MinReplicaCount int64 `json:"minReplicaCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "MaxReplicaCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxReplicaCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ResourceRuntime: Persistent Cluster runtime
// information as output
type GoogleCloudAiplatformV1ResourceRuntime struct {
	// AccessUris: 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 `json:"accessUris,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccessUris") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccessUris") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ResourceRuntime) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResourceRuntime
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ResourceRuntimeSpec: 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 GoogleCloudAiplatformV1ResourceRuntimeSpec struct {
	// RaySpec: Optional. Ray cluster configuration. Required when creating a
	// dedicated RayCluster on the PersistentResource.
	RaySpec *GoogleCloudAiplatformV1RaySpec `json:"raySpec,omitempty"`
	// ServiceAccountSpec: Optional. Configure the use of workload identity on the
	// PersistentResource
	ServiceAccountSpec *GoogleCloudAiplatformV1ServiceAccountSpec `json:"serviceAccountSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RaySpec") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RaySpec") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ResourceRuntimeSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResourceRuntimeSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ResourcesConsumed: Statistics information about
// resource consumption.
type GoogleCloudAiplatformV1ResourcesConsumed struct {
	// ReplicaHours: 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 `json:"replicaHours,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ReplicaHours") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ReplicaHours") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ResourcesConsumed) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResourcesConsumed
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ResourcesConsumed) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ResourcesConsumed
	var s1 struct {
		ReplicaHours gensupport.JSONFloat64 `json:"replicaHours"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ReplicaHours = float64(s1.ReplicaHours)
	return nil
}

// GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata: Runtime
// operation information for DatasetService.RestoreDatasetVersion.
type GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest: Request
// message for JobService.ResumeModelDeploymentMonitoringJob.
type GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest struct {
}

// GoogleCloudAiplatformV1ResumeScheduleRequest: Request message for
// ScheduleService.ResumeSchedule.
type GoogleCloudAiplatformV1ResumeScheduleRequest struct {
	// CatchUp: 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 field. Default to false.
	CatchUp bool `json:"catchUp,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CatchUp") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CatchUp") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ResumeScheduleRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResumeScheduleRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Retrieval: Defines a retrieval tool that model can
// call to access external knowledge.
type GoogleCloudAiplatformV1Retrieval struct {
	// DisableAttribution: Optional. Deprecated. This option is no longer
	// supported.
	DisableAttribution bool `json:"disableAttribution,omitempty"`
	// ExternalApi: Use data source powered by external API for grounding.
	ExternalApi *GoogleCloudAiplatformV1ExternalApi `json:"externalApi,omitempty"`
	// VertexAiSearch: Set to use data source powered by Vertex AI Search.
	VertexAiSearch *GoogleCloudAiplatformV1VertexAISearch `json:"vertexAiSearch,omitempty"`
	// VertexRagStore: Set to use data source powered by Vertex RAG store. User
	// data is uploaded via the VertexRagDataService.
	VertexRagStore *GoogleCloudAiplatformV1VertexRagStore `json:"vertexRagStore,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisableAttribution") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisableAttribution") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Retrieval) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Retrieval
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrievalConfig: Retrieval config.
type GoogleCloudAiplatformV1RetrievalConfig struct {
	// LanguageCode: The language code of the user.
	LanguageCode string `json:"languageCode,omitempty"`
	// LatLng: The location of the user.
	LatLng *GoogleTypeLatLng `json:"latLng,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LanguageCode") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrievalConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrievalConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrievalMetadata: Metadata related to the retrieval
// grounding source. This is part of the `GroundingMetadata` returned when
// grounding is enabled.
type GoogleCloudAiplatformV1RetrievalMetadata struct {
	// GoogleSearchDynamicRetrievalScore: Optional. A score indicating how likely
	// it is that a Google Search query could help answer the prompt. The score is
	// in the range of `[0, 1]`. A score of 1 means the model is confident that a
	// search will be helpful, and 0 means it is not. This score is populated only
	// when Google Search grounding and dynamic retrieval are enabled. The score is
	// used to determine whether to trigger a search.
	GoogleSearchDynamicRetrievalScore float64 `json:"googleSearchDynamicRetrievalScore,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "GoogleSearchDynamicRetrievalScore") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "GoogleSearchDynamicRetrievalScore") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrievalMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrievalMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1RetrievalMetadata) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1RetrievalMetadata
	var s1 struct {
		GoogleSearchDynamicRetrievalScore gensupport.JSONFloat64 `json:"googleSearchDynamicRetrievalScore"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.GoogleSearchDynamicRetrievalScore = float64(s1.GoogleSearchDynamicRetrievalScore)
	return nil
}

// GoogleCloudAiplatformV1RetrieveContextsRequest: Request message for
// VertexRagService.RetrieveContexts.
type GoogleCloudAiplatformV1RetrieveContextsRequest struct {
	// Query: Required. Single RAG retrieve query.
	Query *GoogleCloudAiplatformV1RagQuery `json:"query,omitempty"`
	// VertexRagStore: The data source for Vertex RagStore.
	VertexRagStore *GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore `json:"vertexRagStore,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Query") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Query") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveContextsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveContextsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore: The data
// source for Vertex RagStore.
type GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore struct {
	// RagResources: Optional. The representation of the rag source. It can be used
	// to specify corpus only or ragfiles. Currently only support one corpus or
	// multiple files from one corpus. In the future we may open up multiple
	// corpora support.
	RagResources []*GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource `json:"ragResources,omitempty"`
	// VectorDistanceThreshold: Optional. Only return contexts with vector distance
	// smaller than the threshold.
	VectorDistanceThreshold float64 `json:"vectorDistanceThreshold,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagResources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagResources") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore
	var s1 struct {
		VectorDistanceThreshold gensupport.JSONFloat64 `json:"vectorDistanceThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.VectorDistanceThreshold = float64(s1.VectorDistanceThreshold)
	return nil
}

// GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource: The
// definition of the Rag resource.
type GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource struct {
	// RagCorpus: Optional. RagCorpora resource name. Format:
	// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
	RagCorpus string `json:"ragCorpus,omitempty"`
	// RagFileIds: Optional. rag_file_id. The files should be in the same
	// rag_corpus set in rag_corpus field.
	RagFileIds []string `json:"ragFileIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagCorpus") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagCorpus") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrieveContextsResponse: Response message for
// VertexRagService.RetrieveContexts.
type GoogleCloudAiplatformV1RetrieveContextsResponse struct {
	// Contexts: The contexts of the query.
	Contexts *GoogleCloudAiplatformV1RagContexts `json:"contexts,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Contexts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contexts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveContextsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveContextsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrieveMemoriesRequest: Request message for
// MemoryBankService.RetrieveMemories.
type GoogleCloudAiplatformV1RetrieveMemoriesRequest struct {
	// Filter: Optional. The standard list filter that will be applied to the
	// retrieved memories. More detail in AIP-160 (https://google.aip.dev/160).
	// Supported fields: * `fact` * `create_time` * `update_time` * `topics` (i.e.
	// `topics.custom_memory_topic_label: "example topic" OR
	// topics.managed_memory_topic: USER_PREFERENCES`)
	Filter string `json:"filter,omitempty"`
	// FilterGroups: Optional. Metadata filters that will be applied to the
	// retrieved memories' `metadata` using OR logic. Filters are defined using
	// disjunctive normal form (OR of ANDs). For example: `filter_groups:
	// [{filters: [{key: "author", value: {string_value: "agent 123"}, op:
	// EQUAL}]}, {filters: [{key: "label", value: {string_value: "travel"}, op:
	// EQUAL}, {key: "author", value: {string_value: "agent 321"}, op: EQUAL}]}]`
	// would be equivalent to the logical expression: `(metadata.author = "agent
	// 123" OR (metadata.label = "travel" AND metadata.author = "agent 321"))`.
	FilterGroups []*GoogleCloudAiplatformV1MemoryConjunctionFilter `json:"filterGroups,omitempty"`
	// MemoryTypes: Optional. Specifies the types of memories to retrieve. If this
	// field is empty or not provided, the request will default to retrieving only
	// memories of type `NATURAL_LANGUAGE_COLLECTION`. If populated, the request
	// will retrieve memories matching any of the specified `MemoryType` values.
	//
	// Possible values:
	//   "MEMORY_TYPE_UNSPECIFIED" - Represents an unspecified memory type. This
	// value should not be used.
	//   "NATURAL_LANGUAGE_COLLECTION" - Indicates belonging to a collection of
	// natural language memories.
	//   "STRUCTURED_PROFILE" - Indicates belonging to a structured profile.
	MemoryTypes []string `json:"memoryTypes,omitempty"`
	// Scope: Required. The scope of the memories to retrieve. A memory must have
	// exactly the same scope (`Memory.scope`) as the scope provided here to be
	// retrieved (same keys and values). Order does not matter, but it is
	// case-sensitive.
	Scope map[string]string `json:"scope,omitempty"`
	// SimilaritySearchParams: Parameters for semantic similarity search based
	// retrieval.
	SimilaritySearchParams *GoogleCloudAiplatformV1RetrieveMemoriesRequestSimilaritySearchParams `json:"similaritySearchParams,omitempty"`
	// SimpleRetrievalParams: Parameters for simple (non-similarity search)
	// retrieval.
	SimpleRetrievalParams *GoogleCloudAiplatformV1RetrieveMemoriesRequestSimpleRetrievalParams `json:"simpleRetrievalParams,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveMemoriesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveMemoriesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrieveMemoriesRequestSimilaritySearchParams:
// Parameters for semantic similarity search based retrieval.
type GoogleCloudAiplatformV1RetrieveMemoriesRequestSimilaritySearchParams struct {
	// SearchQuery: Required. Query to use for similarity search retrieval. If
	// provided, then the parent ReasoningEngine must have
	// ReasoningEngineContextSpec.MemoryBankConfig.SimilaritySearchConfig set.
	SearchQuery string `json:"searchQuery,omitempty"`
	// TopK: Optional. The maximum number of memories to return. The service may
	// return fewer than this value. If unspecified, at most 3 memories will be
	// returned. The maximum value is 100; values above 100 will be coerced to 100.
	TopK int64 `json:"topK,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SearchQuery") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SearchQuery") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveMemoriesRequestSimilaritySearchParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveMemoriesRequestSimilaritySearchParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrieveMemoriesRequestSimpleRetrievalParams:
// Parameters for simple (non-similarity search) retrieval.
type GoogleCloudAiplatformV1RetrieveMemoriesRequestSimpleRetrievalParams struct {
	// PageSize: Optional. The maximum number of memories to return. The service
	// may return fewer than this value. If unspecified, at most 3 memories will be
	// returned. The maximum value is 100; values above 100 will be coerced to 100.
	PageSize int64 `json:"pageSize,omitempty"`
	// PageToken: Optional. A page token, received from a previous
	// `RetrieveMemories` call. Provide this to retrieve the subsequent page.
	PageToken string `json:"pageToken,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PageSize") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PageSize") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveMemoriesRequestSimpleRetrievalParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveMemoriesRequestSimpleRetrievalParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrieveMemoriesResponse: Response message for
// MemoryBankService.RetrieveMemories.
type GoogleCloudAiplatformV1RetrieveMemoriesResponse struct {
	// NextPageToken: A token that can be sent as `page_token` to retrieve the next
	// page. If this field is omitted, there are no subsequent pages. This token is
	// not set if similarity search was used for retrieval.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// RetrievedMemories: The retrieved memories.
	RetrievedMemories []*GoogleCloudAiplatformV1RetrieveMemoriesResponseRetrievedMemory `json:"retrievedMemories,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveMemoriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveMemoriesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RetrieveMemoriesResponseRetrievedMemory: A retrieved
// memory.
type GoogleCloudAiplatformV1RetrieveMemoriesResponseRetrievedMemory struct {
	// Distance: The distance between the query and the retrieved Memory. Smaller
	// values indicate more similar memories. This is only set if similarity search
	// was used for retrieval.
	Distance float64 `json:"distance,omitempty"`
	// Memory: The retrieved Memory.
	Memory *GoogleCloudAiplatformV1Memory `json:"memory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Distance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Distance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RetrieveMemoriesResponseRetrievedMemory) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RetrieveMemoriesResponseRetrievedMemory
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1RetrieveMemoriesResponseRetrievedMemory) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1RetrieveMemoriesResponseRetrievedMemory
	var s1 struct {
		Distance gensupport.JSONFloat64 `json:"distance"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Distance = float64(s1.Distance)
	return nil
}

// GoogleCloudAiplatformV1RollbackMemoryRequest: Request message for
// MemoryBankService.RollbackMemory.
type GoogleCloudAiplatformV1RollbackMemoryRequest struct {
	// TargetRevisionId: Required. The ID of the revision to rollback to.
	TargetRevisionId int64 `json:"targetRevisionId,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "TargetRevisionId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TargetRevisionId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RollbackMemoryRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RollbackMemoryRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RougeInput: Input for rouge metric.
type GoogleCloudAiplatformV1RougeInput struct {
	// Instances: Required. Repeated rouge instances.
	Instances []*GoogleCloudAiplatformV1RougeInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for rouge score metric.
	MetricSpec *GoogleCloudAiplatformV1RougeSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RougeInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RougeInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RougeInstance: Spec for rouge instance.
type GoogleCloudAiplatformV1RougeInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Required. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RougeInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RougeInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RougeMetricValue: Rouge metric value for an instance.
type GoogleCloudAiplatformV1RougeMetricValue struct {
	// Score: Output only. Rouge score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RougeMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RougeMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1RougeMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1RougeMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1RougeResults: Results for rouge metric.
type GoogleCloudAiplatformV1RougeResults struct {
	// RougeMetricValues: Output only. Rouge metric values.
	RougeMetricValues []*GoogleCloudAiplatformV1RougeMetricValue `json:"rougeMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RougeMetricValues") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RougeMetricValues") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RougeResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RougeResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RougeSpec: Spec for rouge score metric - calculates
// the recall of n-grams in prediction as compared to reference - returns a
// score ranging between 0 and 1.
type GoogleCloudAiplatformV1RougeSpec struct {
	// RougeType: Optional. Supported rouge types are rougen[1-9], rougeL, and
	// rougeLsum.
	RougeType string `json:"rougeType,omitempty"`
	// SplitSummaries: Optional. Whether to split summaries while using rougeLsum.
	SplitSummaries bool `json:"splitSummaries,omitempty"`
	// UseStemmer: Optional. Whether to use stemmer to compute rouge score.
	UseStemmer bool `json:"useStemmer,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RougeType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RougeType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RougeSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RougeSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Rubric: Message representing a single testable
// criterion for evaluation. One input prompt could have multiple rubrics.
type GoogleCloudAiplatformV1Rubric struct {
	// Content: Required. The actual testable criteria for the rubric.
	Content *GoogleCloudAiplatformV1RubricContent `json:"content,omitempty"`
	// Importance: Optional. The relative importance of this rubric.
	//
	// Possible values:
	//   "IMPORTANCE_UNSPECIFIED" - Importance is not specified.
	//   "HIGH" - High importance.
	//   "MEDIUM" - Medium importance.
	//   "LOW" - Low importance.
	Importance string `json:"importance,omitempty"`
	// RubricId: Unique identifier for the rubric. This ID is used to refer to this
	// rubric, e.g., in RubricVerdict.
	RubricId string `json:"rubricId,omitempty"`
	// Type: Optional. A type designator for the rubric, which can inform how it's
	// evaluated or interpreted by systems or users. It's recommended to use
	// consistent, well-defined, upper snake_case strings. Examples:
	// "SUMMARIZATION_QUALITY", "SAFETY_HARMFUL_CONTENT", "INSTRUCTION_ADHERENCE".
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Rubric) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Rubric
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput: Instance and
// metric spec for RubricBasedInstructionFollowing metric.
type GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput struct {
	// Instance: Required. Instance for RubricBasedInstructionFollowing metric.
	Instance *GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for RubricBasedInstructionFollowing metric.
	MetricSpec *GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricBasedInstructionFollowingInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance: Instance for
// RubricBasedInstructionFollowing metric - one instance corresponds to one row
// in an evaluation dataset.
type GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance struct {
	// JsonInstance: Required. Instance specified as a json string. String
	// key-value pairs are expected in the json_instance to render
	// RubricBasedInstructionFollowing prompt templates.
	JsonInstance string `json:"jsonInstance,omitempty"`
	// ForceSendFields is a list of field names (e.g. "JsonInstance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "JsonInstance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricBasedInstructionFollowingInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult: Result for
// RubricBasedInstructionFollowing metric.
type GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult struct {
	// RubricCritiqueResults: Output only. List of per rubric critique results.
	RubricCritiqueResults []*GoogleCloudAiplatformV1RubricCritiqueResult `json:"rubricCritiqueResults,omitempty"`
	// Score: Output only. Overall score for the instruction following.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RubricCritiqueResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RubricCritiqueResults") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1RubricBasedInstructionFollowingResult
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec: Spec for
// RubricBasedInstructionFollowing metric - returns rubrics and verdicts
// corresponding to rubrics along with overall score.
type GoogleCloudAiplatformV1RubricBasedInstructionFollowingSpec struct {
}

// GoogleCloudAiplatformV1RubricContent: Content of the rubric, defining the
// testable criteria.
type GoogleCloudAiplatformV1RubricContent struct {
	// Property: Evaluation criteria based on a specific property.
	Property *GoogleCloudAiplatformV1RubricContentProperty `json:"property,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Property") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Property") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricContent) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricContent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricContentProperty: Defines criteria based on a
// specific property.
type GoogleCloudAiplatformV1RubricContentProperty struct {
	// Description: Description of the property being evaluated. Example: "The
	// model's response is grammatically correct."
	Description string `json:"description,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricContentProperty) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricContentProperty
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricCritiqueResult: Rubric critique result.
type GoogleCloudAiplatformV1RubricCritiqueResult struct {
	// Rubric: Output only. Rubric to be evaluated.
	Rubric string `json:"rubric,omitempty"`
	// Verdict: Output only. Verdict for the rubric - true if the rubric is met,
	// false otherwise.
	Verdict bool `json:"verdict,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Rubric") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Rubric") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricCritiqueResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricCritiqueResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricGenerationSpec: Specification for how rubrics
// should be generated.
type GoogleCloudAiplatformV1RubricGenerationSpec struct {
	// ModelConfig: Configuration for the model used in rubric generation. Configs
	// including sampling count and base model can be specified here. Flipping is
	// not supported for rubric generation.
	ModelConfig *GoogleCloudAiplatformV1AutoraterConfig `json:"modelConfig,omitempty"`
	// PromptTemplate: Template for the prompt used to generate rubrics. The
	// details should be updated based on the most-recent recipe requirements.
	PromptTemplate string `json:"promptTemplate,omitempty"`
	// RubricContentType: The type of rubric content to be generated.
	//
	// Possible values:
	//   "RUBRIC_CONTENT_TYPE_UNSPECIFIED" - The content type to generate is not
	// specified.
	//   "PROPERTY" - Generate rubrics based on properties.
	//   "NL_QUESTION_ANSWER" - Generate rubrics in an NL question answer format.
	//   "PYTHON_CODE_ASSERTION" - Generate rubrics in a unit test format.
	RubricContentType string `json:"rubricContentType,omitempty"`
	// RubricTypeOntology: Optional. An optional, pre-defined list of allowed types
	// for generated rubrics. If this field is provided, it implies
	// `include_rubric_type` should be true, and the generated rubric types should
	// be chosen from this ontology.
	RubricTypeOntology []string `json:"rubricTypeOntology,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricGenerationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricGenerationSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricGroup: A group of rubrics, used for grouping
// rubrics based on a metric or a version.
type GoogleCloudAiplatformV1RubricGroup struct {
	// DisplayName: Human-readable name for the group. This should be unique within
	// a given context if used for display or selection. Example: "Instruction
	// Following V1", "Content Quality - Summarization Task".
	DisplayName string `json:"displayName,omitempty"`
	// GroupId: Unique identifier for the group.
	GroupId string `json:"groupId,omitempty"`
	// Rubrics: Rubrics that are part of this group.
	Rubrics []*GoogleCloudAiplatformV1Rubric `json:"rubrics,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricGroup) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricGroup
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1RubricVerdict: Represents the verdict of an
// evaluation against a single rubric.
type GoogleCloudAiplatformV1RubricVerdict struct {
	// EvaluatedRubric: Required. The full rubric definition that was evaluated.
	// Storing this ensures the verdict is self-contained and understandable,
	// especially if the original rubric definition changes or was dynamically
	// generated.
	EvaluatedRubric *GoogleCloudAiplatformV1Rubric `json:"evaluatedRubric,omitempty"`
	// Reasoning: Optional. Human-readable reasoning or explanation for the
	// verdict. This can include specific examples or details from the evaluated
	// content that justify the given verdict.
	Reasoning string `json:"reasoning,omitempty"`
	// Verdict: Required. Outcome of the evaluation against the rubric, represented
	// as a boolean. `true` indicates a "Pass", `false` indicates a "Fail".
	Verdict bool `json:"verdict,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EvaluatedRubric") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluatedRubric") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1RubricVerdict) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RubricVerdict
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SafetyInput: Input for safety metric.
type GoogleCloudAiplatformV1SafetyInput struct {
	// Instance: Required. Safety instance.
	Instance *GoogleCloudAiplatformV1SafetyInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for safety metric.
	MetricSpec *GoogleCloudAiplatformV1SafetySpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SafetyInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SafetyInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SafetyInstance: Spec for safety instance.
type GoogleCloudAiplatformV1SafetyInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SafetyInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SafetyInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SafetyRating: A safety rating for a piece of content.
// The safety rating contains the harm category and the harm probability level.
type GoogleCloudAiplatformV1SafetyRating struct {
	// Blocked: Output only. Indicates whether the content was blocked because of
	// this rating.
	Blocked bool `json:"blocked,omitempty"`
	// Category: Output only. The harm category of this rating.
	//
	// Possible values:
	//   "HARM_CATEGORY_UNSPECIFIED" - Default value. This value is unused.
	//   "HARM_CATEGORY_HATE_SPEECH" - Content that promotes violence or incites
	// hatred against individuals or groups based on certain attributes.
	//   "HARM_CATEGORY_DANGEROUS_CONTENT" - Content that promotes, facilitates, or
	// enables dangerous activities.
	//   "HARM_CATEGORY_HARASSMENT" - Abusive, threatening, or content intended to
	// bully, torment, or ridicule.
	//   "HARM_CATEGORY_SEXUALLY_EXPLICIT" - Content that contains sexually
	// explicit material.
	//   "HARM_CATEGORY_CIVIC_INTEGRITY" - Deprecated: Election filter is not
	// longer supported. The harm category is civic integrity.
	//   "HARM_CATEGORY_IMAGE_HATE" - Images that contain hate speech.
	//   "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT" - Images that contain dangerous
	// content.
	//   "HARM_CATEGORY_IMAGE_HARASSMENT" - Images that contain harassment.
	//   "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT" - Images that contain sexually
	// explicit content.
	//   "HARM_CATEGORY_JAILBREAK" - Prompts designed to bypass safety filters.
	Category string `json:"category,omitempty"`
	// OverwrittenThreshold: Output only. The overwritten threshold for the safety
	// category of Gemini 2.0 image out. If minors are detected in the output
	// image, the threshold of each safety category will be overwritten if user
	// sets a lower threshold.
	//
	// Possible values:
	//   "HARM_BLOCK_THRESHOLD_UNSPECIFIED" - The harm block threshold is
	// unspecified.
	//   "BLOCK_LOW_AND_ABOVE" - Block content with a low harm probability or
	// higher.
	//   "BLOCK_MEDIUM_AND_ABOVE" - Block content with a medium harm probability or
	// higher.
	//   "BLOCK_ONLY_HIGH" - Block content with a high harm probability.
	//   "BLOCK_NONE" - Do not block any content, regardless of its harm
	// probability.
	//   "OFF" - Turn off the safety filter entirely.
	OverwrittenThreshold string `json:"overwrittenThreshold,omitempty"`
	// Probability: Output only. The probability of harm for this category.
	//
	// Possible values:
	//   "HARM_PROBABILITY_UNSPECIFIED" - The harm probability is unspecified.
	//   "NEGLIGIBLE" - The harm probability is negligible.
	//   "LOW" - The harm probability is low.
	//   "MEDIUM" - The harm probability is medium.
	//   "HIGH" - The harm probability is high.
	Probability string `json:"probability,omitempty"`
	// ProbabilityScore: Output only. The probability score of harm for this
	// category.
	ProbabilityScore float64 `json:"probabilityScore,omitempty"`
	// Severity: Output only. The severity of harm for this category.
	//
	// Possible values:
	//   "HARM_SEVERITY_UNSPECIFIED" - The harm severity is unspecified.
	//   "HARM_SEVERITY_NEGLIGIBLE" - The harm severity is negligible.
	//   "HARM_SEVERITY_LOW" - The harm severity is low.
	//   "HARM_SEVERITY_MEDIUM" - The harm severity is medium.
	//   "HARM_SEVERITY_HIGH" - The harm severity is high.
	Severity string `json:"severity,omitempty"`
	// SeverityScore: Output only. The severity score of harm for this category.
	SeverityScore float64 `json:"severityScore,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Blocked") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Blocked") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SafetyRating) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SafetyRating
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SafetyRating) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SafetyRating
	var s1 struct {
		ProbabilityScore gensupport.JSONFloat64 `json:"probabilityScore"`
		SeverityScore    gensupport.JSONFloat64 `json:"severityScore"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ProbabilityScore = float64(s1.ProbabilityScore)
	s.SeverityScore = float64(s1.SeverityScore)
	return nil
}

// GoogleCloudAiplatformV1SafetyResult: Spec for safety result.
type GoogleCloudAiplatformV1SafetyResult struct {
	// Confidence: Output only. Confidence for safety score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for safety score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Safety score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SafetyResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SafetyResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SafetyResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SafetyResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1SafetySetting: A safety setting that affects the
// safety-blocking behavior. A SafetySetting consists of a harm category and a
// threshold for that category.
type GoogleCloudAiplatformV1SafetySetting struct {
	// Category: Required. The harm category to be blocked.
	//
	// Possible values:
	//   "HARM_CATEGORY_UNSPECIFIED" - Default value. This value is unused.
	//   "HARM_CATEGORY_HATE_SPEECH" - Content that promotes violence or incites
	// hatred against individuals or groups based on certain attributes.
	//   "HARM_CATEGORY_DANGEROUS_CONTENT" - Content that promotes, facilitates, or
	// enables dangerous activities.
	//   "HARM_CATEGORY_HARASSMENT" - Abusive, threatening, or content intended to
	// bully, torment, or ridicule.
	//   "HARM_CATEGORY_SEXUALLY_EXPLICIT" - Content that contains sexually
	// explicit material.
	//   "HARM_CATEGORY_CIVIC_INTEGRITY" - Deprecated: Election filter is not
	// longer supported. The harm category is civic integrity.
	//   "HARM_CATEGORY_IMAGE_HATE" - Images that contain hate speech.
	//   "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT" - Images that contain dangerous
	// content.
	//   "HARM_CATEGORY_IMAGE_HARASSMENT" - Images that contain harassment.
	//   "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT" - Images that contain sexually
	// explicit content.
	//   "HARM_CATEGORY_JAILBREAK" - Prompts designed to bypass safety filters.
	Category string `json:"category,omitempty"`
	// Method: Optional. The method for blocking content. If not specified, the
	// default behavior is to use the probability score.
	//
	// Possible values:
	//   "HARM_BLOCK_METHOD_UNSPECIFIED" - The harm block method is unspecified.
	//   "SEVERITY" - The harm block method uses both probability and severity
	// scores.
	//   "PROBABILITY" - The harm block method uses the probability score.
	Method string `json:"method,omitempty"`
	// Threshold: Required. The threshold for blocking content. If the harm
	// probability exceeds this threshold, the content will be blocked.
	//
	// Possible values:
	//   "HARM_BLOCK_THRESHOLD_UNSPECIFIED" - The harm block threshold is
	// unspecified.
	//   "BLOCK_LOW_AND_ABOVE" - Block content with a low harm probability or
	// higher.
	//   "BLOCK_MEDIUM_AND_ABOVE" - Block content with a medium harm probability or
	// higher.
	//   "BLOCK_ONLY_HIGH" - Block content with a high harm probability.
	//   "BLOCK_NONE" - Do not block any content, regardless of its harm
	// probability.
	//   "OFF" - Turn off the safety filter entirely.
	Threshold string `json:"threshold,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Category") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Category") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SafetySetting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SafetySetting
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SafetySpec: Spec for safety metric.
type GoogleCloudAiplatformV1SafetySpec struct {
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Version") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SafetySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SafetySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SampleConfig: Active learning data sampling config.
// For every active learning labeling iteration, it will select a batch of data
// based on the sampling strategy.
type GoogleCloudAiplatformV1SampleConfig struct {
	// FollowingBatchSamplePercentage: The percentage of data needed to be labeled
	// in each following batch (except the first batch).
	FollowingBatchSamplePercentage int64 `json:"followingBatchSamplePercentage,omitempty"`
	// InitialBatchSamplePercentage: The percentage of data needed to be labeled in
	// the first batch.
	InitialBatchSamplePercentage int64 `json:"initialBatchSamplePercentage,omitempty"`
	// SampleStrategy: Field to choose sampling strategy. Sampling strategy will
	// decide which data should be selected for human labeling in every batch.
	//
	// Possible values:
	//   "SAMPLE_STRATEGY_UNSPECIFIED" - Default will be treated as UNCERTAINTY.
	//   "UNCERTAINTY" - Sample the most uncertain data to label.
	SampleStrategy string `json:"sampleStrategy,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "FollowingBatchSamplePercentage") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FollowingBatchSamplePercentage")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SampleConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SampleConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SampledShapleyAttribution: 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 GoogleCloudAiplatformV1SampledShapleyAttribution struct {
	// PathCount: Required. The number of feature permutations to consider when
	// approximating the Shapley values. Valid range of its value is [1, 50],
	// inclusively.
	PathCount int64 `json:"pathCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PathCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PathCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SampledShapleyAttribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SampledShapleyAttribution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SamplingStrategy: Sampling Strategy for logging, can
// be for both training and prediction dataset.
type GoogleCloudAiplatformV1SamplingStrategy struct {
	// RandomSampleConfig: Random sample config. Will support more sampling
	// strategies later.
	RandomSampleConfig *GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig `json:"randomSampleConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RandomSampleConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RandomSampleConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SamplingStrategy) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SamplingStrategy
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig: Requests are
// randomly selected.
type GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig struct {
	// SampleRate: Sample rate (0, 1]
	SampleRate float64 `json:"sampleRate,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SampleRate") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SampleRate") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig
	var s1 struct {
		SampleRate gensupport.JSONFloat64 `json:"sampleRate"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.SampleRate = float64(s1.SampleRate)
	return nil
}

// GoogleCloudAiplatformV1SandboxEnvironment: SandboxEnvironment is a
// containerized environment that provides a customizable secure execution
// runtime for AI agents.
type GoogleCloudAiplatformV1SandboxEnvironment struct {
	// ConnectionInfo: Output only. The connection information of the
	// SandboxEnvironment.
	ConnectionInfo *GoogleCloudAiplatformV1SandboxEnvironmentConnectionInfo `json:"connectionInfo,omitempty"`
	// CreateTime: Output only. The timestamp when this SandboxEnvironment was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The display name of the SandboxEnvironment.
	DisplayName string `json:"displayName,omitempty"`
	// ExpireTime: Optional. Timestamp in UTC of when this SandboxEnvironment is
	// considered expired. This is *always* provided on output, regardless of what
	// `expiration` was sent on input.
	ExpireTime string `json:"expireTime,omitempty"`
	// LatestSandboxEnvironmentSnapshot: Output only. The resource name of the
	// latest snapshot taken for this SandboxEnvironment.
	LatestSandboxEnvironmentSnapshot string `json:"latestSandboxEnvironmentSnapshot,omitempty"`
	// Name: Identifier. The name of the SandboxEnvironment.
	Name string `json:"name,omitempty"`
	// Owner: Optional. Owner information for this sandbox environment. A Sandbox
	// can only be restored from a snapshot that belongs to the same owner. If not
	// set, sandbox will be created as the default owner.
	Owner string `json:"owner,omitempty"`
	// SandboxEnvironmentSnapshot: Optional. The resource name of the
	// SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment.
	// Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/
	// sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
	SandboxEnvironmentSnapshot string `json:"sandboxEnvironmentSnapshot,omitempty"`
	// SandboxEnvironmentTemplate: Optional. The name of the
	// SandboxEnvironmentTemplate specified in the parent Agent Engine resource
	// that this SandboxEnvironment is created from. Only one of
	// `sandbox_environment_template` and `spec` should be set.
	SandboxEnvironmentTemplate string `json:"sandboxEnvironmentTemplate,omitempty"`
	// Spec: Optional. The configuration of the SandboxEnvironment.
	Spec *GoogleCloudAiplatformV1SandboxEnvironmentSpec `json:"spec,omitempty"`
	// State: Output only. The runtime state of the SandboxEnvironment.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - The default value. This value is unused.
	//   "STATE_PROVISIONING" - Runtime resources are being allocated for the
	// sandbox environment.
	//   "STATE_RUNNING" - Sandbox runtime is ready for serving.
	//   "STATE_DEPROVISIONING" - Sandbox runtime is halted, performing tear down
	// tasks.
	//   "STATE_TERMINATED" - Sandbox has terminated with underlying runtime
	// failure.
	//   "STATE_DELETED" - Sandbox runtime has been deleted.
	State string `json:"state,omitempty"`
	// Ttl: Optional. Input only. The TTL for the sandbox environment. The
	// expiration time is computed: now + TTL.
	Ttl string `json:"ttl,omitempty"`
	// UpdateTime: Output only. The timestamp when this SandboxEnvironment was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ConnectionInfo") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConnectionInfo") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentConnectionInfo: The connection
// information of the SandboxEnvironment.
type GoogleCloudAiplatformV1SandboxEnvironmentConnectionInfo struct {
	// LoadBalancerHostname: Output only. The hostname of the load balancer.
	LoadBalancerHostname string `json:"loadBalancerHostname,omitempty"`
	// LoadBalancerIp: Output only. The IP address of the load balancer.
	LoadBalancerIp string `json:"loadBalancerIp,omitempty"`
	// RoutingToken: Output only. The routing token for the SandboxEnvironment.
	RoutingToken string `json:"routingToken,omitempty"`
	// SandboxHostname: Output only. The hostname of the SandboxEnvironment.
	SandboxHostname string `json:"sandboxHostname,omitempty"`
	// SandboxInternalIp: Output only. The internal IP address of the
	// SandboxEnvironment.
	SandboxInternalIp string `json:"sandboxInternalIp,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LoadBalancerHostname") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LoadBalancerHostname") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentConnectionInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentConnectionInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentSnapshot:
// SandboxEnvironmentSnapshot is a snapshot of the SandboxEnvironment.
type GoogleCloudAiplatformV1SandboxEnvironmentSnapshot struct {
	// CreateTime: Output only. The timestamp when this SandboxEnvironmentSnapshot
	// was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The display name of the SandboxEnvironmentSnapshot.
	DisplayName string `json:"displayName,omitempty"`
	// ExpireTime: Optional. Timestamp in UTC of when this
	// SandboxEnvironmentSnapshot is considered expired. This is *always* provided
	// on output, regardless of what `expiration` was sent on input.
	ExpireTime string `json:"expireTime,omitempty"`
	// Name: Identifier. The resource name of the SandboxEnvironmentSnapshot.
	// Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/
	// sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
	Name string `json:"name,omitempty"`
	// Owner: Optional. Owner information for this sandbox snapshot. Different
	// owners will have isolations on snapshot storage and identity. If not set,
	// snapshot will be created as the default owner.
	Owner string `json:"owner,omitempty"`
	// ParentSnapshot: Output only. The resource name of the parent
	// SandboxEnvironmentSnapshot. Empty if this is a root Snapshot (the first
	// snapshot from a newly created sandbox). Can be used to reconstruct the whole
	// ancestry tree of snapshots.
	ParentSnapshot string `json:"parentSnapshot,omitempty"`
	// PostSnapshotAction: Optional. Input only. Action to take on the source
	// SandboxEnvironment after the snapshot is taken. This field is only used in
	// CreateSandboxEnvironmentSnapshotRequest and it is not stored in the
	// resource.
	//
	// Possible values:
	//   "POST_SNAPSHOT_ACTION_UNSPECIFIED" - The default value. This value is
	// unused.
	//   "RUNNING" - Sandbox environment will continue to run after snapshot is
	// taken.
	//   "PAUSE" - Sandbox environment will be paused after snapshot is taken.
	PostSnapshotAction string `json:"postSnapshotAction,omitempty"`
	// SizeBytes: Optional. Output only. Size of the snapshot data in bytes.
	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
	// SourceSandboxEnvironment: Required. The resource name of the source
	// SandboxEnvironment this snapshot was taken from.
	SourceSandboxEnvironment string `json:"sourceSandboxEnvironment,omitempty"`
	// Ttl: Optional. Input only. The TTL for the sandbox environment snapshot. The
	// expiration time is computed: now + TTL.
	Ttl string `json:"ttl,omitempty"`
	// UpdateTime: Output only. The timestamp when this SandboxEnvironment was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentSnapshot) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentSnapshot
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentSpec: The specification of a
// SandboxEnvironment.
type GoogleCloudAiplatformV1SandboxEnvironmentSpec struct {
	// CodeExecutionEnvironment: Optional. The code execution environment.
	CodeExecutionEnvironment *GoogleCloudAiplatformV1SandboxEnvironmentSpecCodeExecutionEnvironment `json:"codeExecutionEnvironment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CodeExecutionEnvironment")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CodeExecutionEnvironment") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentSpecCodeExecutionEnvironment: The
// code execution environment with customized settings.
type GoogleCloudAiplatformV1SandboxEnvironmentSpecCodeExecutionEnvironment struct {
	// CodeLanguage: The coding language supported in this environment.
	//
	// Possible values:
	//   "LANGUAGE_UNSPECIFIED" - The default value. This value is unused.
	//   "LANGUAGE_PYTHON" - The coding language is Python.
	//   "LANGUAGE_JAVASCRIPT" - The coding language is JavaScript.
	CodeLanguage string `json:"codeLanguage,omitempty"`
	// MachineConfig: The machine config of the code execution environment.
	//
	// Possible values:
	//   "MACHINE_CONFIG_UNSPECIFIED" - The default value: milligcu 2000, memory
	// 1.5Gib
	//   "MACHINE_CONFIG_VCPU4_RAM4GIB" - The default value: milligcu 4000, memory
	// 4 Gib
	MachineConfig string `json:"machineConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CodeLanguage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CodeLanguage") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentSpecCodeExecutionEnvironment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentSpecCodeExecutionEnvironment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentTemplate: The specification of a
// SandboxEnvironmentTemplate. A SandboxEnvironmentTemplate defines a template
// for creating SandboxEnvironments.
type GoogleCloudAiplatformV1SandboxEnvironmentTemplate struct {
	// CreateTime: Output only. The timestamp when this SandboxEnvironmentTemplate
	// was created.
	CreateTime string `json:"createTime,omitempty"`
	// CustomContainerEnvironment: The sandbox environment for custom container
	// workloads.
	CustomContainerEnvironment *GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerEnvironment `json:"customContainerEnvironment,omitempty"`
	// DefaultContainerEnvironment: The sandbox environment for default container
	// workloads.
	DefaultContainerEnvironment *GoogleCloudAiplatformV1SandboxEnvironmentTemplateDefaultContainerEnvironment `json:"defaultContainerEnvironment,omitempty"`
	// DisplayName: Required. The display name of the SandboxEnvironmentTemplate.
	DisplayName string `json:"displayName,omitempty"`
	// EgressControlConfig: Optional. The configuration for egress control of this
	// template.
	EgressControlConfig *GoogleCloudAiplatformV1SandboxEnvironmentTemplateEgressControlConfig `json:"egressControlConfig,omitempty"`
	// Name: Identifier. The resource name of the SandboxEnvironmentTemplate.
	// Format:
	// `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/
	// sandboxEnvironmentTemplates/{sandbox_environment_template}`
	Name string `json:"name,omitempty"`
	// State: Output only. The state of the sandbox environment template.
	//
	// Possible values:
	//   "UNSPECIFIED" - The default value. This value is unused.
	//   "PROVISIONING" - Runtime resources are being allocated for the sandbox
	// environment.
	//   "ACTIVE" - Sandbox runtime is ready for serving.
	//   "DEPROVISIONING" - Sandbox runtime is halted, performing tear down tasks.
	//   "DELETED" - Sandbox has terminated with underlying runtime failure.
	//   "FAILED" - Sandbox has failed to provision.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. The timestamp when this SandboxEnvironmentTemplate
	// was most recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentTemplate) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentTemplate
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerEnvironment:
// The customized sandbox runtime environment for BYOC.
type GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerEnvironment struct {
	// CustomContainerSpec: The specification of the custom container environment.
	CustomContainerSpec *GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerSpec `json:"customContainerSpec,omitempty"`
	// Ports: Ports to expose from the container.
	Ports []*GoogleCloudAiplatformV1SandboxEnvironmentTemplateNetworkPort `json:"ports,omitempty"`
	// Resources: Resource requests and limits for the container.
	Resources *GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements `json:"resources,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomContainerSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomContainerSpec") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerEnvironment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerEnvironment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerSpec:
// Specification for deploying from a custom container image.
type GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerSpec struct {
	// ImageUri: Required. The Artifact Registry Docker image URI (e.g.,
	// us-central1-docker.pkg.dev/my-project/my-repo/my-image:tag) of the container
	// image that is to be run on each worker replica.
	ImageUri string `json:"imageUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ImageUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImageUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentTemplateCustomContainerSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentTemplateDefaultContainerEnvironment:
//
//	The default sandbox runtime environment for default container workloads.
type GoogleCloudAiplatformV1SandboxEnvironmentTemplateDefaultContainerEnvironment struct {
	// DefaultContainerCategory: Required. The category of the default container
	// image.
	//
	// Possible values:
	//   "DEFAULT_CONTAINER_CATEGORY_UNSPECIFIED" - The default value. This value
	// is unused.
	//   "DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE" - The default container image
	// for Computer Use.
	DefaultContainerCategory string `json:"defaultContainerCategory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DefaultContainerCategory")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DefaultContainerCategory") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentTemplateDefaultContainerEnvironment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentTemplateDefaultContainerEnvironment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentTemplateEgressControlConfig:
// Configuration for egress control of sandbox instances.
type GoogleCloudAiplatformV1SandboxEnvironmentTemplateEgressControlConfig struct {
	// InternetAccess: Optional. Whether to allow internet access.
	InternetAccess bool `json:"internetAccess,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InternetAccess") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InternetAccess") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentTemplateEgressControlConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentTemplateEgressControlConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentTemplateNetworkPort: Represents a
// network port in a container.
type GoogleCloudAiplatformV1SandboxEnvironmentTemplateNetworkPort struct {
	// Port: Optional. Port number to expose. This must be a valid port number,
	// between 1 and 65535.
	Port int64 `json:"port,omitempty"`
	// Protocol: Optional. Protocol for port. Defaults to TCP if not specified.
	//
	// Possible values:
	//   "PROTOCOL_UNSPECIFIED" - Unspecified protocol. Defaults to TCP.
	//   "TCP" - TCP protocol.
	//   "UDP" - UDP protocol.
	Protocol string `json:"protocol,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Port") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Port") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentTemplateNetworkPort) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentTemplateNetworkPort
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements:
// Message to define resource requests and limits (mirroring Kubernetes) for
// each sandbox instance created from this template.
type GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements struct {
	// Limits: Optional. The maximum amounts of compute resources allowed. Keys are
	// resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m",
	// "1Gi").
	Limits map[string]string `json:"limits,omitempty"`
	// Requests: Optional. The requested amounts of compute resources. Keys are
	// resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m",
	// "512Mi").
	Requests map[string]string `json:"requests,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Limits") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Limits") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SavedQuery: A SavedQuery is a view of the dataset. It
// references a subset of annotations by problem type and filters.
type GoogleCloudAiplatformV1SavedQuery struct {
	// AnnotationFilter: Output only. Filters on the Annotations in the dataset.
	AnnotationFilter string `json:"annotationFilter,omitempty"`
	// AnnotationSpecCount: Output only. Number of AnnotationSpecs in the context
	// of the SavedQuery.
	AnnotationSpecCount int64 `json:"annotationSpecCount,omitempty"`
	// CreateTime: Output only. Timestamp when this SavedQuery was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// Etag: Used to perform a consistent read-modify-write update. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Metadata: Some additional information about the SavedQuery.
	Metadata interface{} `json:"metadata,omitempty"`
	// Name: Output only. Resource name of the SavedQuery.
	Name string `json:"name,omitempty"`
	// ProblemType: 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 `json:"problemType,omitempty"`
	// SupportAutomlTraining: Output only. If the Annotations belonging to the
	// SavedQuery can be used for AutoML training.
	SupportAutomlTraining bool `json:"supportAutomlTraining,omitempty"`
	// UpdateTime: Output only. Timestamp when SavedQuery was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationFilter") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationFilter") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SavedQuery) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SavedQuery
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Scalar: One point viewable on a scalar metric plot.
type GoogleCloudAiplatformV1Scalar struct {
	// Value: Value of the point at this step / timestamp.
	Value float64 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Value") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Scalar) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Scalar
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Scalar) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Scalar
	var s1 struct {
		Value gensupport.JSONFloat64 `json:"value"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Value = float64(s1.Value)
	return nil
}

// GoogleCloudAiplatformV1Schedule: An instance of a Schedule periodically
// schedules runs to make API calls based on user specified time specification
// and API request type.
type GoogleCloudAiplatformV1Schedule struct {
	// AllowQueueing: 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 `json:"allowQueueing,omitempty"`
	// CatchUp: 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 `json:"catchUp,omitempty"`
	// CreateNotebookExecutionJobRequest: Request for
	// NotebookService.CreateNotebookExecutionJob.
	CreateNotebookExecutionJobRequest *GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest `json:"createNotebookExecutionJobRequest,omitempty"`
	// CreatePipelineJobRequest: Request for PipelineService.CreatePipelineJob.
	// CreatePipelineJobRequest.parent field is required (format:
	// projects/{project}/locations/{location}).
	CreatePipelineJobRequest *GoogleCloudAiplatformV1CreatePipelineJobRequest `json:"createPipelineJobRequest,omitempty"`
	// CreateTime: Output only. Timestamp when this Schedule was created.
	CreateTime string `json:"createTime,omitempty"`
	// Cron: 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 `json:"cron,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// EndTime: 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 string `json:"endTime,omitempty"`
	// LastPauseTime: Output only. Timestamp when this Schedule was last paused.
	// Unset if never paused.
	LastPauseTime string `json:"lastPauseTime,omitempty"`
	// LastResumeTime: Output only. Timestamp when this Schedule was last resumed.
	// Unset if never resumed from pause.
	LastResumeTime string `json:"lastResumeTime,omitempty"`
	// LastScheduledRunResponse: 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 *GoogleCloudAiplatformV1ScheduleRunResponse `json:"lastScheduledRunResponse,omitempty"`
	// MaxConcurrentActiveRunCount: Optional. Specifies the maximum number of
	// active runs that can be executed concurrently for this Schedule. This limits
	// the number of runs that can be in a non-terminal state at the same time.
	// Currently, this field is only supported for requests of type
	// CreatePipelineJobRequest.
	MaxConcurrentActiveRunCount int64 `json:"maxConcurrentActiveRunCount,omitempty,string"`
	// MaxConcurrentRunCount: 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 `json:"maxConcurrentRunCount,omitempty,string"`
	// MaxRunCount: 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 `json:"maxRunCount,omitempty,string"`
	// Name: Immutable. The resource name of the Schedule.
	Name string `json:"name,omitempty"`
	// NextRunTime: 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 string `json:"nextRunTime,omitempty"`
	// StartTime: Optional. Timestamp after which the first run can be scheduled.
	// Default to Schedule create time if not specified.
	StartTime string `json:"startTime,omitempty"`
	// StartedRunCount: Output only. The number of runs started by this schedule.
	StartedRunCount int64 `json:"startedRunCount,omitempty,string"`
	// State: Output only. The state of this Schedule.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Unspecified.
	//   "ACTIVE" - The Schedule is active. Runs are being scheduled on the
	// user-specified timespec.
	//   "PAUSED" - The schedule is paused. No new runs will be created until the
	// schedule is resumed. Already started runs will be allowed to complete.
	//   "COMPLETED" - 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.
	State string `json:"state,omitempty"`
	// UpdateTime: Output only. Timestamp when this Schedule was updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AllowQueueing") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllowQueueing") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Schedule) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Schedule
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ScheduleRunResponse: Status of a scheduled run.
type GoogleCloudAiplatformV1ScheduleRunResponse struct {
	// RunResponse: The response of the scheduled run.
	RunResponse string `json:"runResponse,omitempty"`
	// ScheduledRunTime: The scheduled run time based on the user-specified
	// schedule.
	ScheduledRunTime string `json:"scheduledRunTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RunResponse") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RunResponse") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ScheduleRunResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ScheduleRunResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Scheduling: All parameters related to queuing and
// scheduling of custom jobs.
type GoogleCloudAiplatformV1Scheduling struct {
	// DisableRetries: 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 `json:"disableRetries,omitempty"`
	// MaxWaitDuration: Optional. This is the maximum duration that a job will wait
	// for the requested resources to be provisioned if the scheduling strategy is
	// set to [Strategy.DWS_FLEX_START]. If set to 0, the job will wait
	// indefinitely. The default is 24 hours.
	MaxWaitDuration string `json:"maxWaitDuration,omitempty"`
	// RestartJobOnWorkerRestart: Optional. 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 `json:"restartJobOnWorkerRestart,omitempty"`
	// Strategy: Optional. This determines which type of scheduling strategy to
	// use.
	//
	// Possible values:
	//   "STRATEGY_UNSPECIFIED" - Strategy will default to STANDARD.
	//   "ON_DEMAND" - Deprecated. Regular on-demand provisioning strategy.
	//   "LOW_COST" - Deprecated. Low cost by making potential use of spot
	// resources.
	//   "STANDARD" - Standard provisioning strategy uses regular on-demand
	// resources.
	//   "SPOT" - Spot provisioning strategy uses spot resources.
	//   "FLEX_START" - Flex Start strategy uses DWS to queue for resources.
	Strategy string `json:"strategy,omitempty"`
	// Timeout: Optional. The maximum job running time. The default is 7 days.
	Timeout string `json:"timeout,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisableRetries") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisableRetries") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Scheduling) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Scheduling
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Schema: Defines the schema of input and output data.
// This is a subset of the OpenAPI 3.0 Schema Object
// (https://spec.openapis.org/oas/v3.0.3#schema-object).
type GoogleCloudAiplatformV1Schema struct {
	// AdditionalProperties: Optional. If `type` is `OBJECT`, specifies how to
	// handle properties not defined in `properties`. If it is a boolean `false`,
	// no additional properties are allowed. If it is a schema, additional
	// properties are allowed if they conform to the schema.
	AdditionalProperties interface{} `json:"additionalProperties,omitempty"`
	// AnyOf: Optional. The instance must be valid against any (one or more) of the
	// subschemas listed in `any_of`.
	AnyOf []*GoogleCloudAiplatformV1Schema `json:"anyOf,omitempty"`
	// Default: Optional. Default value to use if the field is not specified.
	Default interface{} `json:"default,omitempty"`
	// Defs: Optional. `defs` provides a map of schema definitions that can be
	// reused by `ref` elsewhere in the schema. Only allowed at root level of the
	// schema.
	Defs map[string]GoogleCloudAiplatformV1Schema `json:"defs,omitempty"`
	// Description: Optional. Describes the data. The model uses this field to
	// understand the purpose of the schema and how to use it. It is a best
	// practice to provide a clear and descriptive explanation for the schema and
	// its properties here, rather than in the prompt.
	Description string `json:"description,omitempty"`
	// Enum: Optional. Possible values of the field. This field can be used to
	// restrict a value to a fixed set of values. To mark a field as an enum, set
	// `format` to `enum` and provide the list of possible values in `enum`. For
	// example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST",
	// "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER,
	// format:enum, enum:["101", "201", "301"]}`
	Enum []string `json:"enum,omitempty"`
	// Example: Optional. Example of an instance of this schema.
	Example interface{} `json:"example,omitempty"`
	// Format: Optional. The format of the data. For `NUMBER` type, format can be
	// `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`.
	// For `STRING` type, format can be `email`, `byte`, `date`, `date-time`,
	// `password`, and other formats to further refine the data type.
	Format string `json:"format,omitempty"`
	// Items: Optional. If type is `ARRAY`, `items` specifies the schema of
	// elements in the array.
	Items *GoogleCloudAiplatformV1Schema `json:"items,omitempty"`
	// MaxItems: Optional. If type is `ARRAY`, `max_items` specifies the maximum
	// number of items in an array.
	MaxItems int64 `json:"maxItems,omitempty,string"`
	// MaxLength: Optional. If type is `STRING`, `max_length` specifies the maximum
	// length of the string.
	MaxLength int64 `json:"maxLength,omitempty,string"`
	// MaxProperties: Optional. If type is `OBJECT`, `max_properties` specifies the
	// maximum number of properties that can be provided.
	MaxProperties int64 `json:"maxProperties,omitempty,string"`
	// Maximum: Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the
	// maximum allowed value.
	Maximum float64 `json:"maximum,omitempty"`
	// MinItems: Optional. If type is `ARRAY`, `min_items` specifies the minimum
	// number of items in an array.
	MinItems int64 `json:"minItems,omitempty,string"`
	// MinLength: Optional. If type is `STRING`, `min_length` specifies the minimum
	// length of the string.
	MinLength int64 `json:"minLength,omitempty,string"`
	// MinProperties: Optional. If type is `OBJECT`, `min_properties` specifies the
	// minimum number of properties that can be provided.
	MinProperties int64 `json:"minProperties,omitempty,string"`
	// Minimum: Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the
	// minimum allowed value.
	Minimum float64 `json:"minimum,omitempty"`
	// Nullable: Optional. Indicates if the value of this field can be null.
	Nullable bool `json:"nullable,omitempty"`
	// Pattern: Optional. If type is `STRING`, `pattern` specifies a regular
	// expression that the string must match.
	Pattern string `json:"pattern,omitempty"`
	// Properties: Optional. If type is `OBJECT`, `properties` is a map of property
	// names to schema definitions for each property of the object.
	Properties map[string]GoogleCloudAiplatformV1Schema `json:"properties,omitempty"`
	// PropertyOrdering: Optional. Order of properties displayed or used where
	// order matters. This is not a standard field in OpenAPI specification, but
	// can be used to control the order of properties.
	PropertyOrdering []string `json:"propertyOrdering,omitempty"`
	// Ref: Optional. Allows referencing another schema definition to use in place
	// of this schema. The value must be a valid reference to a schema in `defs`.
	// For example, the following schema defines a reference to a schema node named
	// "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object
	// properties: name: type: string The value of the "pet" property is a
	// reference to the schema node named "Pet". See details in
	// https://json-schema.org/understanding-json-schema/structuring
	Ref string `json:"ref,omitempty"`
	// Required: Optional. If type is `OBJECT`, `required` lists the names of
	// properties that must be present.
	Required []string `json:"required,omitempty"`
	// Title: Optional. Title for the schema.
	Title string `json:"title,omitempty"`
	// Type: Optional. Data type of the schema field.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Not specified, should not be used.
	//   "STRING" - OpenAPI string type
	//   "NUMBER" - OpenAPI number type
	//   "INTEGER" - OpenAPI integer type
	//   "BOOLEAN" - OpenAPI boolean type
	//   "ARRAY" - OpenAPI array type
	//   "OBJECT" - OpenAPI object type
	//   "NULL" - Null type
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalProperties") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalProperties") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Schema) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Schema
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Schema) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Schema
	var s1 struct {
		Maximum gensupport.JSONFloat64 `json:"maximum"`
		Minimum gensupport.JSONFloat64 `json:"minimum"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Maximum = float64(s1.Maximum)
	s.Minimum = float64(s1.Minimum)
	return nil
}

// GoogleCloudAiplatformV1SchemaAnnotationSpecColor: An entry of mapping
// between color and AnnotationSpec. The mapping is used in segmentation mask.
type GoogleCloudAiplatformV1SchemaAnnotationSpecColor struct {
	// Color: The color of the AnnotationSpec in a segmentation mask.
	Color *GoogleTypeColor `json:"color,omitempty"`
	// DisplayName: The display name of the AnnotationSpec represented by the color
	// in the segmentation mask.
	DisplayName string `json:"displayName,omitempty"`
	// Id: The ID of the AnnotationSpec represented by the color in the
	// segmentation mask.
	Id string `json:"id,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Color") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaAnnotationSpecColor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaAnnotationSpecColor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation: Annotation details
// specific to image object detection.
type GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// XMax: The rightmost coordinate of the bounding box.
	XMax float64 `json:"xMax,omitempty"`
	// XMin: The leftmost coordinate of the bounding box.
	XMin float64 `json:"xMin,omitempty"`
	// YMax: The bottommost coordinate of the bounding box.
	YMax float64 `json:"yMax,omitempty"`
	// YMin: The topmost coordinate of the bounding box.
	YMin float64 `json:"yMin,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation
	var s1 struct {
		XMax gensupport.JSONFloat64 `json:"xMax"`
		XMin gensupport.JSONFloat64 `json:"xMin"`
		YMax gensupport.JSONFloat64 `json:"yMax"`
		YMin gensupport.JSONFloat64 `json:"yMin"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.XMax = float64(s1.XMax)
	s.XMin = float64(s1.XMin)
	s.YMax = float64(s1.YMax)
	s.YMin = float64(s1.YMin)
	return nil
}

// GoogleCloudAiplatformV1SchemaImageClassificationAnnotation: Annotation
// details specific to image classification.
type GoogleCloudAiplatformV1SchemaImageClassificationAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageClassificationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageClassificationAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaImageDataItem: Payload of Image DataItem.
type GoogleCloudAiplatformV1SchemaImageDataItem struct {
	// GcsUri: Required. Google Cloud Storage URI points to the original image in
	// user's bucket. The image is up to 30MB in size.
	GcsUri string `json:"gcsUri,omitempty"`
	// MimeType: Output only. The mime type of the content of the image. Only the
	// images in below listed mime types are supported. - image/jpeg - image/gif -
	// image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsUri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageDataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageDataItem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaImageDatasetMetadata: The metadata of Datasets
// that contain Image DataItems.
type GoogleCloudAiplatformV1SchemaImageDatasetMetadata struct {
	// DataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
	// describing payload of the Image DataItems that belong to this Dataset.
	DataItemSchemaUri string `json:"dataItemSchemaUri,omitempty"`
	// GcsBucket: Google Cloud Storage Bucket name that contains the blob data of
	// this Dataset.
	GcsBucket string `json:"gcsBucket,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataItemSchemaUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataItemSchemaUri") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageDatasetMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation: Annotation details
// specific to image segmentation.
type GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation struct {
	// MaskAnnotation: Mask based segmentation annotation. Only one mask annotation
	// can exist for one image.
	MaskAnnotation *GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation `json:"maskAnnotation,omitempty"`
	// PolygonAnnotation: Polygon annotation.
	PolygonAnnotation *GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation `json:"polygonAnnotation,omitempty"`
	// PolylineAnnotation: Polyline annotation.
	PolylineAnnotation *GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation `json:"polylineAnnotation,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaskAnnotation") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaskAnnotation") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation: The
// mask based segmentation annotation.
type GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation struct {
	// AnnotationSpecColors: The mapping between color and AnnotationSpec for this
	// Annotation.
	AnnotationSpecColors []*GoogleCloudAiplatformV1SchemaAnnotationSpecColor `json:"annotationSpecColors,omitempty"`
	// MaskGcsUri: Google Cloud Storage URI that points to the mask image. The
	// image must be in PNG format. It must have the same size as the DataItem's
	// image. Each pixel in the image mask represents the AnnotationSpec which the
	// pixel in the image DataItem belong to. Each color is mapped to one
	// AnnotationSpec based on annotation_spec_colors.
	MaskGcsUri string `json:"maskGcsUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecColors") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecColors") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation:
// Represents a polygon in image.
type GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// Vertexes: The vertexes are connected one by one and the last vertex is
	// connected to the first one to represent a polygon.
	Vertexes []*GoogleCloudAiplatformV1SchemaVertex `json:"vertexes,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation:
// Represents a polyline in image.
type GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// Vertexes: The vertexes are connected one by one and the last vertex in not
	// connected to the first one.
	Vertexes []*GoogleCloudAiplatformV1SchemaVertex `json:"vertexes,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics:
// Bounding box matching model metrics for a single intersection-over-union
// threshold and multiple label match confidence thresholds.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics struct {
	// ConfidenceMetrics: Metrics for each label-match confidence_threshold from
	// 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived
	// from them.
	ConfidenceMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics `json:"confidenceMetrics,omitempty"`
	// IouThreshold: The intersection-over-union threshold value used to compute
	// this metrics entry.
	IouThreshold float64 `json:"iouThreshold,omitempty"`
	// MeanAveragePrecision: The mean average precision, most often close to
	// `auPrc`.
	MeanAveragePrecision float64 `json:"meanAveragePrecision,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceMetrics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceMetrics") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics
	var s1 struct {
		IouThreshold         gensupport.JSONFloat64 `json:"iouThreshold"`
		MeanAveragePrecision gensupport.JSONFloat64 `json:"meanAveragePrecision"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.IouThreshold = float64(s1.IouThreshold)
	s.MeanAveragePrecision = float64(s1.MeanAveragePrecision)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfiden
// ceMetrics: Metrics for a single confidence threshold.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics struct {
	// ConfidenceThreshold: The confidence threshold value used to compute the
	// metrics.
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// F1Score: The harmonic mean of recall and precision.
	F1Score float64 `json:"f1Score,omitempty"`
	// Precision: Precision under the given confidence threshold.
	Precision float64 `json:"precision,omitempty"`
	// Recall: Recall under the given confidence threshold.
	Recall float64 `json:"recall,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		F1Score             gensupport.JSONFloat64 `json:"f1Score"`
		Precision           gensupport.JSONFloat64 `json:"precision"`
		Recall              gensupport.JSONFloat64 `json:"recall"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	s.F1Score = float64(s1.F1Score)
	s.Precision = float64(s1.Precision)
	s.Recall = float64(s1.Recall)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMe
// trics: Metrics for classification evaluation results.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics struct {
	// AuPrc: The Area Under Precision-Recall Curve metric. Micro-averaged for the
	// overall evaluation.
	AuPrc float64 `json:"auPrc,omitempty"`
	// AuRoc: The Area Under Receiver Operating Characteristic curve metric.
	// Micro-averaged for the overall evaluation.
	AuRoc float64 `json:"auRoc,omitempty"`
	// ConfidenceMetrics: Metrics for each `confidenceThreshold` in
	// 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and `positionThreshold` =
	// INT32_MAX_VALUE. ROC and precision-recall curves, and other aggregated
	// metrics are derived from them. The confidence metrics entries may also be
	// supplied for additional values of `positionThreshold`, but from these no
	// aggregated metrics are computed.
	ConfidenceMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics `json:"confidenceMetrics,omitempty"`
	// ConfusionMatrix: Confusion matrix of the evaluation.
	ConfusionMatrix *GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix `json:"confusionMatrix,omitempty"`
	// LogLoss: The Log Loss metric.
	LogLoss float64 `json:"logLoss,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuPrc") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuPrc") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics
	var s1 struct {
		AuPrc   gensupport.JSONFloat64 `json:"auPrc"`
		AuRoc   gensupport.JSONFloat64 `json:"auRoc"`
		LogLoss gensupport.JSONFloat64 `json:"logLoss"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.AuPrc = float64(s1.AuPrc)
	s.AuRoc = float64(s1.AuRoc)
	s.LogLoss = float64(s1.LogLoss)
	return nil
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics struct {
	// ConfidenceThreshold: Metrics are computed with an assumption that the Model
	// never returns predictions with score lower than this value.
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// ConfusionMatrix: Confusion matrix of the evaluation for this
	// confidence_threshold.
	ConfusionMatrix *GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix `json:"confusionMatrix,omitempty"`
	// F1Score: The harmonic mean of recall and precision. For summary metrics, it
	// computes the micro-averaged F1 score.
	F1Score float64 `json:"f1Score,omitempty"`
	// F1ScoreAt1: The harmonic mean of recallAt1 and precisionAt1.
	F1ScoreAt1 float64 `json:"f1ScoreAt1,omitempty"`
	// F1ScoreMacro: Macro-averaged F1 Score.
	F1ScoreMacro float64 `json:"f1ScoreMacro,omitempty"`
	// F1ScoreMicro: Micro-averaged F1 Score.
	F1ScoreMicro float64 `json:"f1ScoreMicro,omitempty"`
	// FalseNegativeCount: The number of ground truth labels that are not matched
	// by a Model created label.
	FalseNegativeCount int64 `json:"falseNegativeCount,omitempty,string"`
	// FalsePositiveCount: The number of Model created labels that do not match a
	// ground truth label.
	FalsePositiveCount int64 `json:"falsePositiveCount,omitempty,string"`
	// FalsePositiveRate: False Positive Rate for the given confidence threshold.
	FalsePositiveRate float64 `json:"falsePositiveRate,omitempty"`
	// FalsePositiveRateAt1: The False Positive Rate when only considering the
	// label that has the highest prediction score and not below the confidence
	// threshold for each DataItem.
	FalsePositiveRateAt1 float64 `json:"falsePositiveRateAt1,omitempty"`
	// MaxPredictions: Metrics are computed with an assumption that the Model
	// always returns at most this many predictions (ordered by their score,
	// descendingly), but they all still need to meet the `confidenceThreshold`.
	MaxPredictions int64 `json:"maxPredictions,omitempty"`
	// Precision: Precision for the given confidence threshold.
	Precision float64 `json:"precision,omitempty"`
	// PrecisionAt1: The precision when only considering the label that has the
	// highest prediction score and not below the confidence threshold for each
	// DataItem.
	PrecisionAt1 float64 `json:"precisionAt1,omitempty"`
	// Recall: Recall (True Positive Rate) for the given confidence threshold.
	Recall float64 `json:"recall,omitempty"`
	// RecallAt1: The Recall (True Positive Rate) when only considering the label
	// that has the highest prediction score and not below the confidence threshold
	// for each DataItem.
	RecallAt1 float64 `json:"recallAt1,omitempty"`
	// TrueNegativeCount: The number of labels that were not created by the Model,
	// but if they would, they would not match a ground truth label.
	TrueNegativeCount int64 `json:"trueNegativeCount,omitempty,string"`
	// TruePositiveCount: The number of Model created labels that match a ground
	// truth label.
	TruePositiveCount int64 `json:"truePositiveCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics
	var s1 struct {
		ConfidenceThreshold  gensupport.JSONFloat64 `json:"confidenceThreshold"`
		F1Score              gensupport.JSONFloat64 `json:"f1Score"`
		F1ScoreAt1           gensupport.JSONFloat64 `json:"f1ScoreAt1"`
		F1ScoreMacro         gensupport.JSONFloat64 `json:"f1ScoreMacro"`
		F1ScoreMicro         gensupport.JSONFloat64 `json:"f1ScoreMicro"`
		FalsePositiveRate    gensupport.JSONFloat64 `json:"falsePositiveRate"`
		FalsePositiveRateAt1 gensupport.JSONFloat64 `json:"falsePositiveRateAt1"`
		Precision            gensupport.JSONFloat64 `json:"precision"`
		PrecisionAt1         gensupport.JSONFloat64 `json:"precisionAt1"`
		Recall               gensupport.JSONFloat64 `json:"recall"`
		RecallAt1            gensupport.JSONFloat64 `json:"recallAt1"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	s.F1Score = float64(s1.F1Score)
	s.F1ScoreAt1 = float64(s1.F1ScoreAt1)
	s.F1ScoreMacro = float64(s1.F1ScoreMacro)
	s.F1ScoreMicro = float64(s1.F1ScoreMicro)
	s.FalsePositiveRate = float64(s1.FalsePositiveRate)
	s.FalsePositiveRateAt1 = float64(s1.FalsePositiveRateAt1)
	s.Precision = float64(s1.Precision)
	s.PrecisionAt1 = float64(s1.PrecisionAt1)
	s.Recall = float64(s1.Recall)
	s.RecallAt1 = float64(s1.RecallAt1)
	return nil
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix struct {
	// AnnotationSpecs: AnnotationSpecs used in the confusion matrix. For AutoML
	// Text Extraction, a special negative AnnotationSpec with empty `id` and
	// `displayName` of "NULL" will be added as the last element.
	AnnotationSpecs []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef `json:"annotationSpecs,omitempty"`
	// Rows: Rows in the confusion matrix. The number of rows is equal to the size
	// of `annotationSpecs`. `rowsi` is the number of DataItems that have ground
	// truth of the `annotationSpecs[i]` and are predicted as `annotationSpecs[j]`
	// by the Model being evaluated. For Text Extraction, when `annotationSpecs[i]`
	// is the last element in `annotationSpecs`, i.e. the special negative
	// AnnotationSpec, `rowsi` is the number of predicted entities of
	// `annoatationSpec[j]` that are not labeled as any of the ground truth
	// AnnotationSpec. When annotationSpecs[j] is the special negative
	// AnnotationSpec, `rowsi` is the number of entities have ground truth of
	// `annotationSpec[i]` that are not predicted as an entity by the Model. The
	// value of the last cell, i.e. `rowi` where i == j and `annotationSpec[i]` is
	// the special negative AnnotationSpec, is always 0.
	Rows [][]interface{} `json:"rows,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef struct {
	// DisplayName: Display name of the AnnotationSpec.
	DisplayName string `json:"displayName,omitempty"`
	// Id: ID of the AnnotationSpec.
	Id string `json:"id,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetri
// cs: Metrics for forecasting evaluation results.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics struct {
	// MeanAbsoluteError: Mean Absolute Error (MAE).
	MeanAbsoluteError float64 `json:"meanAbsoluteError,omitempty"`
	// MeanAbsolutePercentageError: Mean absolute percentage error. Infinity when
	// there are zeros in the ground truth.
	MeanAbsolutePercentageError float64 `json:"meanAbsolutePercentageError,omitempty"`
	// QuantileMetrics: The quantile metrics entries for each quantile.
	QuantileMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry `json:"quantileMetrics,omitempty"`
	// RSquared: Coefficient of determination as Pearson correlation coefficient.
	// Undefined when ground truth or predictions are constant or near constant.
	RSquared float64 `json:"rSquared,omitempty"`
	// RootMeanSquaredError: Root Mean Squared Error (RMSE).
	RootMeanSquaredError float64 `json:"rootMeanSquaredError,omitempty"`
	// RootMeanSquaredLogError: Root mean squared log error. Undefined when there
	// are negative ground truth values or predictions.
	RootMeanSquaredLogError float64 `json:"rootMeanSquaredLogError,omitempty"`
	// RootMeanSquaredPercentageError: Root Mean Square Percentage Error. Square
	// root of MSPE. Undefined/imaginary when MSPE is negative.
	RootMeanSquaredPercentageError float64 `json:"rootMeanSquaredPercentageError,omitempty"`
	// WeightedAbsolutePercentageError: Weighted Absolute Percentage Error. Does
	// not use weights, this is just what the metric is called. Undefined if actual
	// values sum to zero. Will be very large if actual values sum to a very small
	// number.
	WeightedAbsolutePercentageError float64 `json:"weightedAbsolutePercentageError,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MeanAbsoluteError") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MeanAbsoluteError") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics
	var s1 struct {
		MeanAbsoluteError               gensupport.JSONFloat64 `json:"meanAbsoluteError"`
		MeanAbsolutePercentageError     gensupport.JSONFloat64 `json:"meanAbsolutePercentageError"`
		RSquared                        gensupport.JSONFloat64 `json:"rSquared"`
		RootMeanSquaredError            gensupport.JSONFloat64 `json:"rootMeanSquaredError"`
		RootMeanSquaredLogError         gensupport.JSONFloat64 `json:"rootMeanSquaredLogError"`
		RootMeanSquaredPercentageError  gensupport.JSONFloat64 `json:"rootMeanSquaredPercentageError"`
		WeightedAbsolutePercentageError gensupport.JSONFloat64 `json:"weightedAbsolutePercentageError"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.MeanAbsoluteError = float64(s1.MeanAbsoluteError)
	s.MeanAbsolutePercentageError = float64(s1.MeanAbsolutePercentageError)
	s.RSquared = float64(s1.RSquared)
	s.RootMeanSquaredError = float64(s1.RootMeanSquaredError)
	s.RootMeanSquaredLogError = float64(s1.RootMeanSquaredLogError)
	s.RootMeanSquaredPercentageError = float64(s1.RootMeanSquaredPercentageError)
	s.WeightedAbsolutePercentageError = float64(s1.WeightedAbsolutePercentageError)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetri
// csQuantileMetricsEntry: Entry for the Quantiles loss type optimization
// objective.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry struct {
	// ObservedQuantile: This is a custom metric that calculates the percentage of
	// true values that were less than the predicted value for that quantile. Only
	// populated when optimization_objective is minimize-quantile-loss and each
	// entry corresponds to an entry in quantiles The percent value can be used to
	// compare with the quantile value, which is the target value.
	ObservedQuantile float64 `json:"observedQuantile,omitempty"`
	// Quantile: The quantile for this entry.
	Quantile float64 `json:"quantile,omitempty"`
	// ScaledPinballLoss: The scaled pinball loss of this quantile.
	ScaledPinballLoss float64 `json:"scaledPinballLoss,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ObservedQuantile") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ObservedQuantile") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry
	var s1 struct {
		ObservedQuantile  gensupport.JSONFloat64 `json:"observedQuantile"`
		Quantile          gensupport.JSONFloat64 `json:"quantile"`
		ScaledPinballLoss gensupport.JSONFloat64 `json:"scaledPinballLoss"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ObservedQuantile = float64(s1.ObservedQuantile)
	s.Quantile = float64(s1.Quantile)
	s.ScaledPinballLoss = float64(s1.ScaledPinballLoss)
	return nil
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics struct {
	// Bleu: BLEU (bilingual evaluation understudy) scores based on sacrebleu
	// implementation.
	Bleu float64 `json:"bleu,omitempty"`
	// RougeLSum: ROUGE-L (Longest Common Subsequence) scoring at summary level.
	RougeLSum float64 `json:"rougeLSum,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Bleu") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Bleu") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics
	var s1 struct {
		Bleu      gensupport.JSONFloat64 `json:"bleu"`
		RougeLSum gensupport.JSONFloat64 `json:"rougeLSum"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Bleu = float64(s1.Bleu)
	s.RougeLSum = float64(s1.RougeLSum)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvalua
// tionMetrics: Metrics for image object detection evaluation results.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics struct {
	// BoundingBoxMeanAveragePrecision: The single metric for bounding boxes
	// evaluation: the `meanAveragePrecision` averaged over all
	// `boundingBoxMetricsEntries`.
	BoundingBoxMeanAveragePrecision float64 `json:"boundingBoxMeanAveragePrecision,omitempty"`
	// BoundingBoxMetrics: The bounding boxes match metrics for each
	// intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and
	// each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
	BoundingBoxMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics `json:"boundingBoxMetrics,omitempty"`
	// EvaluatedBoundingBoxCount: The total number of bounding boxes (i.e. summed
	// over all images) the ground truth used to create this evaluation had.
	EvaluatedBoundingBoxCount int64 `json:"evaluatedBoundingBoxCount,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "BoundingBoxMeanAveragePrecision") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoundingBoxMeanAveragePrecision")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics
	var s1 struct {
		BoundingBoxMeanAveragePrecision gensupport.JSONFloat64 `json:"boundingBoxMeanAveragePrecision"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.BoundingBoxMeanAveragePrecision = float64(s1.BoundingBoxMeanAveragePrecision)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluatio
// nMetrics: Metrics for image segmentation evaluation results.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics struct {
	// ConfidenceMetricsEntries: Metrics for each confidenceThreshold in
	// 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 Precision-recall curve can be
	// derived from it.
	ConfidenceMetricsEntries []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry `json:"confidenceMetricsEntries,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceMetricsEntries")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceMetricsEntries") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry struct {
	// ConfidenceThreshold: Metrics are computed with an assumption that the model
	// never returns predictions with score lower than this value.
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// ConfusionMatrix: Confusion matrix for the given confidence threshold.
	ConfusionMatrix *GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix `json:"confusionMatrix,omitempty"`
	// DiceScoreCoefficient: DSC or the F1 score, The harmonic mean of recall and
	// precision.
	DiceScoreCoefficient float64 `json:"diceScoreCoefficient,omitempty"`
	// IouScore: The intersection-over-union score. The measure of overlap of the
	// annotation's category mask with ground truth category mask on the DataItem.
	IouScore float64 `json:"iouScore,omitempty"`
	// Precision: Precision for the given confidence threshold.
	Precision float64 `json:"precision,omitempty"`
	// Recall: Recall (True Positive Rate) for the given confidence threshold.
	Recall float64 `json:"recall,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry
	var s1 struct {
		ConfidenceThreshold  gensupport.JSONFloat64 `json:"confidenceThreshold"`
		DiceScoreCoefficient gensupport.JSONFloat64 `json:"diceScoreCoefficient"`
		IouScore             gensupport.JSONFloat64 `json:"iouScore"`
		Precision            gensupport.JSONFloat64 `json:"precision"`
		Recall               gensupport.JSONFloat64 `json:"recall"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	s.DiceScoreCoefficient = float64(s1.DiceScoreCoefficient)
	s.IouScore = float64(s1.IouScore)
	s.Precision = float64(s1.Precision)
	s.Recall = float64(s1.Recall)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEval
// uationMetrics: Metrics for general pairwise text generation evaluation
// results.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics struct {
	// Accuracy: Fraction of cases where the autorater agreed with the human
	// raters.
	Accuracy float64 `json:"accuracy,omitempty"`
	// BaselineModelWinRate: Percentage of time the autorater decided the baseline
	// model had the better response.
	BaselineModelWinRate float64 `json:"baselineModelWinRate,omitempty"`
	// CohensKappa: A measurement of agreement between the autorater and human
	// raters that takes the likelihood of random agreement into account.
	CohensKappa float64 `json:"cohensKappa,omitempty"`
	// F1Score: Harmonic mean of precision and recall.
	F1Score float64 `json:"f1Score,omitempty"`
	// FalseNegativeCount: Number of examples where the autorater chose the
	// baseline model, but humans preferred the model.
	FalseNegativeCount int64 `json:"falseNegativeCount,omitempty,string"`
	// FalsePositiveCount: Number of examples where the autorater chose the model,
	// but humans preferred the baseline model.
	FalsePositiveCount int64 `json:"falsePositiveCount,omitempty,string"`
	// HumanPreferenceBaselineModelWinRate: Percentage of time humans decided the
	// baseline model had the better response.
	HumanPreferenceBaselineModelWinRate float64 `json:"humanPreferenceBaselineModelWinRate,omitempty"`
	// HumanPreferenceModelWinRate: Percentage of time humans decided the model had
	// the better response.
	HumanPreferenceModelWinRate float64 `json:"humanPreferenceModelWinRate,omitempty"`
	// ModelWinRate: Percentage of time the autorater decided the model had the
	// better response.
	ModelWinRate float64 `json:"modelWinRate,omitempty"`
	// Precision: Fraction of cases where the autorater and humans thought the
	// model had a better response out of all cases where the autorater thought the
	// model had a better response. True positive divided by all positive.
	Precision float64 `json:"precision,omitempty"`
	// Recall: Fraction of cases where the autorater and humans thought the model
	// had a better response out of all cases where the humans thought the model
	// had a better response.
	Recall float64 `json:"recall,omitempty"`
	// TrueNegativeCount: Number of examples where both the autorater and humans
	// decided that the model had the worse response.
	TrueNegativeCount int64 `json:"trueNegativeCount,omitempty,string"`
	// TruePositiveCount: Number of examples where both the autorater and humans
	// decided that the model had the better response.
	TruePositiveCount int64 `json:"truePositiveCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Accuracy") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Accuracy") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics
	var s1 struct {
		Accuracy                            gensupport.JSONFloat64 `json:"accuracy"`
		BaselineModelWinRate                gensupport.JSONFloat64 `json:"baselineModelWinRate"`
		CohensKappa                         gensupport.JSONFloat64 `json:"cohensKappa"`
		F1Score                             gensupport.JSONFloat64 `json:"f1Score"`
		HumanPreferenceBaselineModelWinRate gensupport.JSONFloat64 `json:"humanPreferenceBaselineModelWinRate"`
		HumanPreferenceModelWinRate         gensupport.JSONFloat64 `json:"humanPreferenceModelWinRate"`
		ModelWinRate                        gensupport.JSONFloat64 `json:"modelWinRate"`
		Precision                           gensupport.JSONFloat64 `json:"precision"`
		Recall                              gensupport.JSONFloat64 `json:"recall"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Accuracy = float64(s1.Accuracy)
	s.BaselineModelWinRate = float64(s1.BaselineModelWinRate)
	s.CohensKappa = float64(s1.CohensKappa)
	s.F1Score = float64(s1.F1Score)
	s.HumanPreferenceBaselineModelWinRate = float64(s1.HumanPreferenceBaselineModelWinRate)
	s.HumanPreferenceModelWinRate = float64(s1.HumanPreferenceModelWinRate)
	s.ModelWinRate = float64(s1.ModelWinRate)
	s.Precision = float64(s1.Precision)
	s.Recall = float64(s1.Recall)
	return nil
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics struct {
	// ExactMatch: The rate at which the input predicted strings exactly match
	// their references.
	ExactMatch float64 `json:"exactMatch,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ExactMatch") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExactMatch") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics
	var s1 struct {
		ExactMatch gensupport.JSONFloat64 `json:"exactMatch"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ExactMatch = float64(s1.ExactMatch)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetric
// s: Metrics for regression evaluation results.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics struct {
	// MeanAbsoluteError: Mean Absolute Error (MAE).
	MeanAbsoluteError float64 `json:"meanAbsoluteError,omitempty"`
	// MeanAbsolutePercentageError: Mean absolute percentage error. Infinity when
	// there are zeros in the ground truth.
	MeanAbsolutePercentageError float64 `json:"meanAbsolutePercentageError,omitempty"`
	// RSquared: Coefficient of determination as Pearson correlation coefficient.
	// Undefined when ground truth or predictions are constant or near constant.
	RSquared float64 `json:"rSquared,omitempty"`
	// RootMeanSquaredError: Root Mean Squared Error (RMSE).
	RootMeanSquaredError float64 `json:"rootMeanSquaredError,omitempty"`
	// RootMeanSquaredLogError: Root mean squared log error. Undefined when there
	// are negative ground truth values or predictions.
	RootMeanSquaredLogError float64 `json:"rootMeanSquaredLogError,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MeanAbsoluteError") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MeanAbsoluteError") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics
	var s1 struct {
		MeanAbsoluteError           gensupport.JSONFloat64 `json:"meanAbsoluteError"`
		MeanAbsolutePercentageError gensupport.JSONFloat64 `json:"meanAbsolutePercentageError"`
		RSquared                    gensupport.JSONFloat64 `json:"rSquared"`
		RootMeanSquaredError        gensupport.JSONFloat64 `json:"rootMeanSquaredError"`
		RootMeanSquaredLogError     gensupport.JSONFloat64 `json:"rootMeanSquaredLogError"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.MeanAbsoluteError = float64(s1.MeanAbsoluteError)
	s.MeanAbsolutePercentageError = float64(s1.MeanAbsolutePercentageError)
	s.RSquared = float64(s1.RSquared)
	s.RootMeanSquaredError = float64(s1.RootMeanSquaredError)
	s.RootMeanSquaredLogError = float64(s1.RootMeanSquaredLogError)
	return nil
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics struct {
	// RougeLSum: ROUGE-L (Longest Common Subsequence) scoring at summary level.
	RougeLSum float64 `json:"rougeLSum,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RougeLSum") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RougeLSum") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics
	var s1 struct {
		RougeLSum gensupport.JSONFloat64 `json:"rougeLSum"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.RougeLSum = float64(s1.RougeLSum)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMe
// trics: Metrics for text extraction evaluation results.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics struct {
	// ConfidenceMetrics: Metrics that have confidence thresholds. Precision-recall
	// curve can be derived from them.
	ConfidenceMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics `json:"confidenceMetrics,omitempty"`
	// ConfusionMatrix: Confusion matrix of the evaluation. Only set for Models
	// where number of AnnotationSpecs is no more than 10. Only set for
	// ModelEvaluations, not for ModelEvaluationSlices.
	ConfusionMatrix *GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix `json:"confusionMatrix,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceMetrics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceMetrics") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics struct {
	// ConfidenceThreshold: Metrics are computed with an assumption that the Model
	// never returns predictions with score lower than this value.
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// F1Score: The harmonic mean of recall and precision.
	F1Score float64 `json:"f1Score,omitempty"`
	// Precision: Precision for the given confidence threshold.
	Precision float64 `json:"precision,omitempty"`
	// Recall: Recall (True Positive Rate) for the given confidence threshold.
	Recall float64 `json:"recall,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		F1Score             gensupport.JSONFloat64 `json:"f1Score"`
		Precision           gensupport.JSONFloat64 `json:"precision"`
		Recall              gensupport.JSONFloat64 `json:"recall"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	s.F1Score = float64(s1.F1Score)
	s.Precision = float64(s1.Precision)
	s.Recall = float64(s1.Recall)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMet
// rics: Model evaluation metrics for text sentiment problems.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics struct {
	// ConfusionMatrix: Confusion matrix of the evaluation. Only set for
	// ModelEvaluations, not for ModelEvaluationSlices.
	ConfusionMatrix *GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix `json:"confusionMatrix,omitempty"`
	// F1Score: The harmonic mean of recall and precision.
	F1Score float64 `json:"f1Score,omitempty"`
	// LinearKappa: Linear weighted kappa. Only set for ModelEvaluations, not for
	// ModelEvaluationSlices.
	LinearKappa float64 `json:"linearKappa,omitempty"`
	// MeanAbsoluteError: Mean absolute error. Only set for ModelEvaluations, not
	// for ModelEvaluationSlices.
	MeanAbsoluteError float64 `json:"meanAbsoluteError,omitempty"`
	// MeanSquaredError: Mean squared error. Only set for ModelEvaluations, not for
	// ModelEvaluationSlices.
	MeanSquaredError float64 `json:"meanSquaredError,omitempty"`
	// Precision: Precision.
	Precision float64 `json:"precision,omitempty"`
	// QuadraticKappa: Quadratic weighted kappa. Only set for ModelEvaluations, not
	// for ModelEvaluationSlices.
	QuadraticKappa float64 `json:"quadraticKappa,omitempty"`
	// Recall: Recall.
	Recall float64 `json:"recall,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfusionMatrix") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfusionMatrix") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics
	var s1 struct {
		F1Score           gensupport.JSONFloat64 `json:"f1Score"`
		LinearKappa       gensupport.JSONFloat64 `json:"linearKappa"`
		MeanAbsoluteError gensupport.JSONFloat64 `json:"meanAbsoluteError"`
		MeanSquaredError  gensupport.JSONFloat64 `json:"meanSquaredError"`
		Precision         gensupport.JSONFloat64 `json:"precision"`
		QuadraticKappa    gensupport.JSONFloat64 `json:"quadraticKappa"`
		Recall            gensupport.JSONFloat64 `json:"recall"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.F1Score = float64(s1.F1Score)
	s.LinearKappa = float64(s1.LinearKappa)
	s.MeanAbsoluteError = float64(s1.MeanAbsoluteError)
	s.MeanSquaredError = float64(s1.MeanSquaredError)
	s.Precision = float64(s1.Precision)
	s.QuadraticKappa = float64(s1.QuadraticKappa)
	s.Recall = float64(s1.Recall)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics:
// UNIMPLEMENTED. Track matching model metrics for a single track match
// threshold and multiple label match confidence thresholds.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics struct {
	// ConfidenceMetrics: Metrics for each label-match `confidenceThreshold` from
	// 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived
	// from them.
	ConfidenceMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics `json:"confidenceMetrics,omitempty"`
	// IouThreshold: The intersection-over-union threshold value between bounding
	// boxes across frames used to compute this metric entry.
	IouThreshold float64 `json:"iouThreshold,omitempty"`
	// MeanBoundingBoxIou: The mean bounding box iou over all confidence
	// thresholds.
	MeanBoundingBoxIou float64 `json:"meanBoundingBoxIou,omitempty"`
	// MeanMismatchRate: The mean mismatch rate over all confidence thresholds.
	MeanMismatchRate float64 `json:"meanMismatchRate,omitempty"`
	// MeanTrackingAveragePrecision: The mean average precision over all confidence
	// thresholds.
	MeanTrackingAveragePrecision float64 `json:"meanTrackingAveragePrecision,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceMetrics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceMetrics") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics
	var s1 struct {
		IouThreshold                 gensupport.JSONFloat64 `json:"iouThreshold"`
		MeanBoundingBoxIou           gensupport.JSONFloat64 `json:"meanBoundingBoxIou"`
		MeanMismatchRate             gensupport.JSONFloat64 `json:"meanMismatchRate"`
		MeanTrackingAveragePrecision gensupport.JSONFloat64 `json:"meanTrackingAveragePrecision"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.IouThreshold = float64(s1.IouThreshold)
	s.MeanBoundingBoxIou = float64(s1.MeanBoundingBoxIou)
	s.MeanMismatchRate = float64(s1.MeanMismatchRate)
	s.MeanTrackingAveragePrecision = float64(s1.MeanTrackingAveragePrecision)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetr
// ics: Metrics for a single confidence threshold.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics struct {
	// BoundingBoxIou: Bounding box intersection-over-union precision. Measures how
	// well the bounding boxes overlap between each other (e.g. complete overlap or
	// just barely above iou_threshold).
	BoundingBoxIou float64 `json:"boundingBoxIou,omitempty"`
	// ConfidenceThreshold: The confidence threshold value used to compute the
	// metrics.
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// MismatchRate: Mismatch rate, which measures the tracking consistency, i.e.
	// correctness of instance ID continuity.
	MismatchRate float64 `json:"mismatchRate,omitempty"`
	// TrackingPrecision: Tracking precision.
	TrackingPrecision float64 `json:"trackingPrecision,omitempty"`
	// TrackingRecall: Tracking recall.
	TrackingRecall float64 `json:"trackingRecall,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BoundingBoxIou") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoundingBoxIou") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics
	var s1 struct {
		BoundingBoxIou      gensupport.JSONFloat64 `json:"boundingBoxIou"`
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		MismatchRate        gensupport.JSONFloat64 `json:"mismatchRate"`
		TrackingPrecision   gensupport.JSONFloat64 `json:"trackingPrecision"`
		TrackingRecall      gensupport.JSONFloat64 `json:"trackingRecall"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.BoundingBoxIou = float64(s1.BoundingBoxIou)
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	s.MismatchRate = float64(s1.MismatchRate)
	s.TrackingPrecision = float64(s1.TrackingPrecision)
	s.TrackingRecall = float64(s1.TrackingRecall)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics: The
// Evaluation metrics given a specific precision_window_length.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics struct {
	// ConfidenceMetrics: Metrics for each label-match confidence_threshold from
	// 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.
	ConfidenceMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics `json:"confidenceMetrics,omitempty"`
	// MeanAveragePrecision: The mean average precision.
	MeanAveragePrecision float64 `json:"meanAveragePrecision,omitempty"`
	// PrecisionWindowLength: This VideoActionMetrics is calculated based on this
	// prediction window length. If the predicted action's timestamp is inside the
	// time window whose center is the ground truth action's timestamp with this
	// specific length, the prediction result is treated as a true positive.
	PrecisionWindowLength string `json:"precisionWindowLength,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceMetrics") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceMetrics") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics
	var s1 struct {
		MeanAveragePrecision gensupport.JSONFloat64 `json:"meanAveragePrecision"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.MeanAveragePrecision = float64(s1.MeanAveragePrecision)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfiden
// ceMetrics: Metrics for a single confidence threshold.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics struct {
	// ConfidenceThreshold: Output only. The confidence threshold value used to
	// compute the metrics.
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// F1Score: Output only. The harmonic mean of recall and precision.
	F1Score float64 `json:"f1Score,omitempty"`
	// Precision: Output only. Precision for the given confidence threshold.
	Precision float64 `json:"precision,omitempty"`
	// Recall: Output only. Recall for the given confidence threshold.
	Recall float64 `json:"recall,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		F1Score             gensupport.JSONFloat64 `json:"f1Score"`
		Precision           gensupport.JSONFloat64 `json:"precision"`
		Recall              gensupport.JSONFloat64 `json:"recall"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	s.F1Score = float64(s1.F1Score)
	s.Precision = float64(s1.Precision)
	s.Recall = float64(s1.Recall)
	return nil
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetr
// ics: Model evaluation metrics for video action recognition.
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics struct {
	// EvaluatedActionCount: The number of ground truth actions used to create this
	// evaluation.
	EvaluatedActionCount int64 `json:"evaluatedActionCount,omitempty"`
	// VideoActionMetrics: The metric entries for precision window lengths:
	// 1s,2s,3s.
	VideoActionMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics `json:"videoActionMetrics,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EvaluatedActionCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluatedActionCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics
// : Model evaluation metrics for video object tracking problems. Evaluates
// prediction quality of both labeled bounding boxes and labeled tracks (i.e.
// series of bounding boxes sharing same label and instance ID).
type GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics struct {
	// BoundingBoxMeanAveragePrecision: The single metric for bounding boxes
	// evaluation: the `meanAveragePrecision` averaged over all
	// `boundingBoxMetrics`.
	BoundingBoxMeanAveragePrecision float64 `json:"boundingBoxMeanAveragePrecision,omitempty"`
	// BoundingBoxMetrics: The bounding boxes match metrics for each
	// intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and
	// each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
	BoundingBoxMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics `json:"boundingBoxMetrics,omitempty"`
	// EvaluatedBoundingBoxCount: UNIMPLEMENTED. The total number of bounding boxes
	// (i.e. summed over all frames) the ground truth used to create this
	// evaluation had.
	EvaluatedBoundingBoxCount int64 `json:"evaluatedBoundingBoxCount,omitempty"`
	// EvaluatedFrameCount: UNIMPLEMENTED. The number of video frames used to
	// create this evaluation.
	EvaluatedFrameCount int64 `json:"evaluatedFrameCount,omitempty"`
	// EvaluatedTrackCount: UNIMPLEMENTED. The total number of tracks (i.e. as seen
	// across all frames) the ground truth used to create this evaluation had.
	EvaluatedTrackCount int64 `json:"evaluatedTrackCount,omitempty"`
	// TrackMeanAveragePrecision: UNIMPLEMENTED. The single metric for tracks
	// accuracy evaluation: the `meanAveragePrecision` averaged over all
	// `trackMetrics`.
	TrackMeanAveragePrecision float64 `json:"trackMeanAveragePrecision,omitempty"`
	// TrackMeanBoundingBoxIou: UNIMPLEMENTED. The single metric for tracks
	// bounding box iou evaluation: the `meanBoundingBoxIou` averaged over all
	// `trackMetrics`.
	TrackMeanBoundingBoxIou float64 `json:"trackMeanBoundingBoxIou,omitempty"`
	// TrackMeanMismatchRate: UNIMPLEMENTED. The single metric for tracking
	// consistency evaluation: the `meanMismatchRate` averaged over all
	// `trackMetrics`.
	TrackMeanMismatchRate float64 `json:"trackMeanMismatchRate,omitempty"`
	// TrackMetrics: UNIMPLEMENTED. The tracks match metrics for each
	// intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and
	// each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
	TrackMetrics []*GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics `json:"trackMetrics,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "BoundingBoxMeanAveragePrecision") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoundingBoxMeanAveragePrecision")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics
	var s1 struct {
		BoundingBoxMeanAveragePrecision gensupport.JSONFloat64 `json:"boundingBoxMeanAveragePrecision"`
		TrackMeanAveragePrecision       gensupport.JSONFloat64 `json:"trackMeanAveragePrecision"`
		TrackMeanBoundingBoxIou         gensupport.JSONFloat64 `json:"trackMeanBoundingBoxIou"`
		TrackMeanMismatchRate           gensupport.JSONFloat64 `json:"trackMeanMismatchRate"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.BoundingBoxMeanAveragePrecision = float64(s1.BoundingBoxMeanAveragePrecision)
	s.TrackMeanAveragePrecision = float64(s1.TrackMeanAveragePrecision)
	s.TrackMeanBoundingBoxIou = float64(s1.TrackMeanBoundingBoxIou)
	s.TrackMeanMismatchRate = float64(s1.TrackMeanMismatchRate)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInst
// ance: Prediction input format for Image Classification.
type GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance struct {
	// Content: The image bytes or Cloud Storage URI to make the prediction on.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the content of the image. Only the images in
	// below listed MIME types are supported. - image/jpeg - image/gif - image/png
	// - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionIns
// tance: Prediction input format for Image Object Detection.
type GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance struct {
	// Content: The image bytes or Cloud Storage URI to make the prediction on.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the content of the image. Only the images in
	// below listed MIME types are supported. - image/jpeg - image/gif - image/png
	// - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstan
// ce: Prediction input format for Image Segmentation.
type GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance struct {
	// Content: The image bytes to make the predictions on.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the content of the image. Only the images in
	// below listed MIME types are supported. - image/jpeg - image/png
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInsta
// nce: Prediction input format for Text Classification.
type GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance struct {
	// Content: The text snippet to make the predictions on.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the text snippet. The supported MIME types are
	// listed below. - text/plain
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance:
//
//	Prediction input format for Text Extraction.
type GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance struct {
	// Content: The text snippet to make the predictions on.
	Content string `json:"content,omitempty"`
	// Key: This field is only used for batch prediction. If a key is provided, the
	// batch prediction result will by mapped to this key. If omitted, then the
	// batch prediction result will contain the entire input instance. Vertex AI
	// will not check if keys in the request are duplicates, so it is up to the
	// caller to ensure the keys are unique.
	Key string `json:"key,omitempty"`
	// MimeType: The MIME type of the text snippet. The supported MIME types are
	// listed below. - text/plain
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance:
// Prediction input format for Text Sentiment.
type GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance struct {
	// Content: The text snippet to make the predictions on.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the text snippet. The supported MIME types are
	// listed below. - text/plain
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionI
// nstance: Prediction input format for Video Action Recognition.
type GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance struct {
	// Content: The Google Cloud Storage location of the video on which to perform
	// the prediction.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the content of the video. Only the following are
	// supported: video/mp4 video/avi video/quicktime
	MimeType string `json:"mimeType,omitempty"`
	// TimeSegmentEnd: The end, exclusive, of the video's time segment on which to
	// perform the prediction. Expressed as a number of seconds as measured from
	// the start of the video, with "s" appended at the end. Fractions are allowed,
	// up to a microsecond precision, and "inf" or "Infinity" is allowed, which
	// means the end of the video.
	TimeSegmentEnd string `json:"timeSegmentEnd,omitempty"`
	// TimeSegmentStart: The beginning, inclusive, of the video's time segment on
	// which to perform the prediction. Expressed as a number of seconds as
	// measured from the start of the video, with "s" appended at the end.
	// Fractions are allowed, up to a microsecond precision.
	TimeSegmentStart string `json:"timeSegmentStart,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInst
// ance: Prediction input format for Video Classification.
type GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance struct {
	// Content: The Google Cloud Storage location of the video on which to perform
	// the prediction.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the content of the video. Only the following are
	// supported: video/mp4 video/avi video/quicktime
	MimeType string `json:"mimeType,omitempty"`
	// TimeSegmentEnd: The end, exclusive, of the video's time segment on which to
	// perform the prediction. Expressed as a number of seconds as measured from
	// the start of the video, with "s" appended at the end. Fractions are allowed,
	// up to a microsecond precision, and "inf" or "Infinity" is allowed, which
	// means the end of the video.
	TimeSegmentEnd string `json:"timeSegmentEnd,omitempty"`
	// TimeSegmentStart: The beginning, inclusive, of the video's time segment on
	// which to perform the prediction. Expressed as a number of seconds as
	// measured from the start of the video, with "s" appended at the end.
	// Fractions are allowed, up to a microsecond precision.
	TimeSegmentStart string `json:"timeSegmentStart,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInst
// ance: Prediction input format for Video Object Tracking.
type GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance struct {
	// Content: The Google Cloud Storage location of the video on which to perform
	// the prediction.
	Content string `json:"content,omitempty"`
	// MimeType: The MIME type of the content of the video. Only the following are
	// supported: video/mp4 video/avi video/quicktime
	MimeType string `json:"mimeType,omitempty"`
	// TimeSegmentEnd: The end, exclusive, of the video's time segment on which to
	// perform the prediction. Expressed as a number of seconds as measured from
	// the start of the video, with "s" appended at the end. Fractions are allowed,
	// up to a microsecond precision, and "inf" or "Infinity" is allowed, which
	// means the end of the video.
	TimeSegmentEnd string `json:"timeSegmentEnd,omitempty"`
	// TimeSegmentStart: The beginning, inclusive, of the video's time segment on
	// which to perform the prediction. Expressed as a number of seconds as
	// measured from the start of the video, with "s" appended at the end.
	// Fractions are allowed, up to a microsecond precision.
	TimeSegmentStart string `json:"timeSegmentStart,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig: The configuration
// for grounding checking.
type GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig struct {
	// DisableAttribution: If set, skip finding claim attributions (i.e not
	// generate grounding citation).
	DisableAttribution bool `json:"disableAttribution,omitempty"`
	// Sources: The sources for the grounding checking.
	Sources []*GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry `json:"sources,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisableAttribution") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisableAttribution") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry: Single
// source entry for the grounding checking.
type GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry struct {
	// EnterpriseDatastore: The uri of the Vertex AI Search data source.
	// Deprecated. Use vertex_ai_search_datastore instead.
	EnterpriseDatastore string `json:"enterpriseDatastore,omitempty"`
	// InlineContext: The grounding text passed inline with the Predict API. It can
	// support up to 1 million bytes.
	InlineContext string `json:"inlineContext,omitempty"`
	// Type: The type of the grounding checking source.
	//
	// Possible values:
	//   "UNSPECIFIED"
	//   "WEB" - Uses Web Search to check the grounding.
	//   "ENTERPRISE" - Uses Vertex AI Search to check the grounding. Deprecated.
	// Use VERTEX_AI_SEARCH instead.
	//   "VERTEX_AI_SEARCH" - Uses Vertex AI Search to check the grounding
	//   "INLINE" - Uses inline context to check the grounding.
	Type string `json:"type,omitempty"`
	// VertexAiSearchDatastore: The uri of the Vertex AI Search data source.
	VertexAiSearchDatastore string `json:"vertexAiSearchDatastore,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnterpriseDatastore") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnterpriseDatastore") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams
// : Prediction model parameters for Image Classification.
type GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams struct {
	// ConfidenceThreshold: The Model only returns predictions with at least this
	// confidence score. Default value is 0.0
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// MaxPredictions: The Model only returns up to that many top, by confidence
	// score, predictions per instance. If this number is very high, the Model may
	// return fewer predictions. Default value is 10.
	MaxPredictions int64 `json:"maxPredictions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParam
// s: Prediction model parameters for Image Object Detection.
type GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams struct {
	// ConfidenceThreshold: The Model only returns predictions with at least this
	// confidence score. Default value is 0.0
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// MaxPredictions: The Model only returns up to that many top, by confidence
	// score, predictions per instance. Note that number of returned predictions is
	// also limited by metadata's predictionsLimit. Default value is 10.
	MaxPredictions int64 `json:"maxPredictions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams:
// Prediction model parameters for Image Segmentation.
type GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams struct {
	// ConfidenceThreshold: When the model predicts category of pixels of the
	// image, it will only provide predictions for pixels that it is at least this
	// much confident about. All other pixels will be classified as background.
	// Default value is 0.5.
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionPar
// ams: Prediction model parameters for Video Action Recognition.
type GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams struct {
	// ConfidenceThreshold: The Model only returns predictions with at least this
	// confidence score. Default value is 0.0
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// MaxPredictions: The model only returns up to that many top, by confidence
	// score, predictions per frame of the video. If this number is very high, the
	// Model may return fewer predictions per frame. Default value is 50.
	MaxPredictions int64 `json:"maxPredictions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams
// : Prediction model parameters for Video Classification.
type GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams struct {
	// ConfidenceThreshold: The Model only returns predictions with at least this
	// confidence score. Default value is 0.0
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// MaxPredictions: The Model only returns up to that many top, by confidence
	// score, predictions per instance. If this number is very high, the Model may
	// return fewer predictions. Default value is 10,000.
	MaxPredictions int64 `json:"maxPredictions,omitempty"`
	// OneSecIntervalClassification: Set to true to request classification for a
	// video at one-second intervals. Vertex AI returns labels and their confidence
	// scores for each second of the entire time segment of the video that user
	// specified in the input WARNING: Model evaluation is not done for this
	// classification type, the quality of it depends on the training data, but
	// there are no metrics provided to describe that quality. Default value is
	// false
	OneSecIntervalClassification bool `json:"oneSecIntervalClassification,omitempty"`
	// SegmentClassification: Set to true to request segment-level classification.
	// Vertex AI returns labels and their confidence scores for the entire time
	// segment of the video that user specified in the input instance. Default
	// value is true
	SegmentClassification bool `json:"segmentClassification,omitempty"`
	// ShotClassification: Set to true to request shot-level classification. Vertex
	// AI determines the boundaries for each camera shot in the entire time segment
	// of the video that user specified in the input instance. Vertex AI then
	// returns labels and their confidence scores for each detected shot, along
	// with the start and end time of the shot. WARNING: Model evaluation is not
	// done for this classification type, the quality of it depends on the training
	// data, but there are no metrics provided to describe that quality. Default
	// value is false
	ShotClassification bool `json:"shotClassification,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams
// : Prediction model parameters for Video Object Tracking.
type GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams struct {
	// ConfidenceThreshold: The Model only returns predictions with at least this
	// confidence score. Default value is 0.0
	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
	// MaxPredictions: The model only returns up to that many top, by confidence
	// score, predictions per frame of the video. If this number is very high, the
	// Model may return fewer predictions per frame. Default value is 50.
	MaxPredictions int64 `json:"maxPredictions,omitempty"`
	// MinBoundingBoxSize: Only bounding boxes with shortest edge at least that
	// long as a relative value of video frame size are returned. Default value is
	// 0.0.
	MinBoundingBoxSize float64 `json:"minBoundingBoxSize,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConfidenceThreshold") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams
	var s1 struct {
		ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
		MinBoundingBoxSize  gensupport.JSONFloat64 `json:"minBoundingBoxSize"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
	s.MinBoundingBoxSize = float64(s1.MinBoundingBoxSize)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult:
//
//	Prediction output format for Image and Text Classification.
type GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult struct {
	// Confidences: The Model's confidences in correctness of the predicted IDs,
	// higher value means higher confidence. Order matches the Ids.
	Confidences []float64 `json:"confidences,omitempty"`
	// DisplayNames: The display names of the AnnotationSpecs that had been
	// identified, order matches the IDs.
	DisplayNames []string `json:"displayNames,omitempty"`
	// Ids: The resource IDs of the AnnotationSpecs that had been identified.
	Ids googleapi.Int64s `json:"ids,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidences") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidences") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult
	var s1 struct {
		Confidences []gensupport.JSONFloat64 `json:"confidences"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidences = make([]float64, len(s1.Confidences))
	for i := range s1.Confidences {
		s.Confidences[i] = float64(s1.Confidences[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionR
// esult: Prediction output format for Image Object Detection.
type GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult struct {
	// Bboxes: Bounding boxes, i.e. the rectangles over the image, that pinpoint
	// the found AnnotationSpecs. Given in order that matches the IDs. Each
	// bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and `yMax`,
	// which represent the extremal coordinates of the box. They are relative to
	// the image size, and the point 0,0 is in the top left of the image.
	Bboxes [][]interface{} `json:"bboxes,omitempty"`
	// Confidences: The Model's confidences in correctness of the predicted IDs,
	// higher value means higher confidence. Order matches the Ids.
	Confidences []float64 `json:"confidences,omitempty"`
	// DisplayNames: The display names of the AnnotationSpecs that had been
	// identified, order matches the IDs.
	DisplayNames []string `json:"displayNames,omitempty"`
	// Ids: The resource IDs of the AnnotationSpecs that had been identified,
	// ordered by the confidence score descendingly.
	Ids googleapi.Int64s `json:"ids,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Bboxes") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Bboxes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult
	var s1 struct {
		Confidences []gensupport.JSONFloat64 `json:"confidences"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidences = make([]float64, len(s1.Confidences))
	for i := range s1.Confidences {
		s.Confidences[i] = float64(s1.Confidences[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResu
// lt: Prediction output format for Image Segmentation.
type GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult struct {
	// CategoryMask: A PNG image where each pixel in the mask represents the
	// category in which the pixel in the original image was predicted to belong
	// to. The size of this image will be the same as the original image. The
	// mapping between the AnntoationSpec and the color can be found in model's
	// metadata. The model will choose the most likely category and if none of the
	// categories reach the confidence threshold, the pixel will be marked as
	// background.
	CategoryMask string `json:"categoryMask,omitempty"`
	// ConfidenceMask: A one channel image which is encoded as an 8bit lossless
	// PNG. The size of the image will be the same as the original image. For a
	// specific pixel, darker color means less confidence in correctness of the
	// cateogry in the categoryMask for the corresponding pixel. Black means no
	// confidence and white means complete confidence.
	ConfidenceMask string `json:"confidenceMask,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CategoryMask") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CategoryMask") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPrediction
// Result: Prediction output format for Tabular Classification.
type GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult struct {
	// Classes: The name of the classes being classified, contains all possible
	// values of the target column.
	Classes []string `json:"classes,omitempty"`
	// Scores: The model's confidence in each class being correct, higher value
	// means higher confidence. The N-th score corresponds to the N-th class in
	// classes.
	Scores []float64 `json:"scores,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Classes") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Classes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult
	var s1 struct {
		Scores []gensupport.JSONFloat64 `json:"scores"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Scores = make([]float64, len(s1.Scores))
	for i := range s1.Scores {
		s.Scores[i] = float64(s1.Scores[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResu
// lt: Prediction output format for Tabular Regression.
type GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult struct {
	// LowerBound: The lower bound of the prediction interval.
	LowerBound float64 `json:"lowerBound,omitempty"`
	// QuantilePredictions: Quantile predictions, in 1-1 correspondence with
	// quantile_values.
	QuantilePredictions []float64 `json:"quantilePredictions,omitempty"`
	// QuantileValues: Quantile values.
	QuantileValues []float64 `json:"quantileValues,omitempty"`
	// UpperBound: The upper bound of the prediction interval.
	UpperBound float64 `json:"upperBound,omitempty"`
	// Value: The regression value.
	Value float64 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LowerBound") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LowerBound") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult
	var s1 struct {
		LowerBound          gensupport.JSONFloat64   `json:"lowerBound"`
		QuantilePredictions []gensupport.JSONFloat64 `json:"quantilePredictions"`
		QuantileValues      []gensupport.JSONFloat64 `json:"quantileValues"`
		UpperBound          gensupport.JSONFloat64   `json:"upperBound"`
		Value               gensupport.JSONFloat64   `json:"value"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.LowerBound = float64(s1.LowerBound)
	s.QuantilePredictions = make([]float64, len(s1.QuantilePredictions))
	for i := range s1.QuantilePredictions {
		s.QuantilePredictions[i] = float64(s1.QuantilePredictions[i])
	}
	s.QuantileValues = make([]float64, len(s1.QuantileValues))
	for i := range s1.QuantileValues {
		s.QuantileValues[i] = float64(s1.QuantileValues[i])
	}
	s.UpperBound = float64(s1.UpperBound)
	s.Value = float64(s1.Value)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult:
//
//	Prediction output format for Text Extraction.
type GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult struct {
	// Confidences: The Model's confidences in correctness of the predicted IDs,
	// higher value means higher confidence. Order matches the Ids.
	Confidences []float64 `json:"confidences,omitempty"`
	// DisplayNames: The display names of the AnnotationSpecs that had been
	// identified, order matches the IDs.
	DisplayNames []string `json:"displayNames,omitempty"`
	// Ids: The resource IDs of the AnnotationSpecs that had been identified,
	// ordered by the confidence score descendingly.
	Ids googleapi.Int64s `json:"ids,omitempty"`
	// TextSegmentEndOffsets: The end offsets, inclusive, of the text segment in
	// which the AnnotationSpec has been identified. Expressed as a zero-based
	// number of characters as measured from the start of the text snippet.
	TextSegmentEndOffsets googleapi.Int64s `json:"textSegmentEndOffsets,omitempty"`
	// TextSegmentStartOffsets: The start offsets, inclusive, of the text segment
	// in which the AnnotationSpec has been identified. Expressed as a zero-based
	// number of characters as measured from the start of the text snippet.
	TextSegmentStartOffsets googleapi.Int64s `json:"textSegmentStartOffsets,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidences") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidences") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult
	var s1 struct {
		Confidences []gensupport.JSONFloat64 `json:"confidences"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidences = make([]float64, len(s1.Confidences))
	for i := range s1.Confidences {
		s.Confidences[i] = float64(s1.Confidences[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult:
// Prediction output format for Text Sentiment
type GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult struct {
	// Sentiment: The integer sentiment labels between 0 (inclusive) and
	// sentimentMax label (inclusive), while 0 maps to the least positive sentiment
	// and sentimentMax maps to the most positive one. The higher the score is, the
	// more positive the sentiment in the text snippet is. Note: sentimentMax is an
	// integer value between 1 (inclusive) and 10 (inclusive).
	Sentiment int64 `json:"sentiment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Sentiment") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Sentiment") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance struct {
	AttributeColumns []string  `json:"attributeColumns,omitempty"`
	AttributeWeights []float64 `json:"attributeWeights,omitempty"`
	ContextColumns   []string  `json:"contextColumns,omitempty"`
	// ContextWeights: TFT feature importance values. Each pair for
	// {context/horizon/attribute} should have the same shape since the weight
	// corresponds to the column names.
	ContextWeights []float64 `json:"contextWeights,omitempty"`
	HorizonColumns []string  `json:"horizonColumns,omitempty"`
	HorizonWeights []float64 `json:"horizonWeights,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AttributeColumns") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AttributeColumns") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance
	var s1 struct {
		AttributeWeights []gensupport.JSONFloat64 `json:"attributeWeights"`
		ContextWeights   []gensupport.JSONFloat64 `json:"contextWeights"`
		HorizonWeights   []gensupport.JSONFloat64 `json:"horizonWeights"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.AttributeWeights = make([]float64, len(s1.AttributeWeights))
	for i := range s1.AttributeWeights {
		s.AttributeWeights[i] = float64(s1.AttributeWeights[i])
	}
	s.ContextWeights = make([]float64, len(s1.ContextWeights))
	for i := range s1.ContextWeights {
		s.ContextWeights[i] = float64(s1.ContextWeights[i])
	}
	s.HorizonWeights = make([]float64, len(s1.HorizonWeights))
	for i := range s1.HorizonWeights {
		s.HorizonWeights[i] = float64(s1.HorizonWeights[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPrediction
// Result: Prediction output format for Time Series Forecasting.
type GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult struct {
	// QuantilePredictions: Quantile predictions, in 1-1 correspondence with
	// quantile_values.
	QuantilePredictions []float64 `json:"quantilePredictions,omitempty"`
	// QuantileValues: Quantile values.
	QuantileValues []float64 `json:"quantileValues,omitempty"`
	// TftFeatureImportance: Only use these if TFt is enabled.
	TftFeatureImportance *GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance `json:"tftFeatureImportance,omitempty"`
	// Value: The regression value.
	Value float64 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "QuantilePredictions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "QuantilePredictions") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult
	var s1 struct {
		QuantilePredictions []gensupport.JSONFloat64 `json:"quantilePredictions"`
		QuantileValues      []gensupport.JSONFloat64 `json:"quantileValues"`
		Value               gensupport.JSONFloat64   `json:"value"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.QuantilePredictions = make([]float64, len(s1.QuantilePredictions))
	for i := range s1.QuantilePredictions {
		s.QuantilePredictions[i] = float64(s1.QuantilePredictions[i])
	}
	s.QuantileValues = make([]float64, len(s1.QuantileValues))
	for i := range s1.QuantileValues {
		s.QuantileValues[i] = float64(s1.QuantileValues[i])
	}
	s.Value = float64(s1.Value)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictio
// nResult: Prediction output format for Video Action Recognition.
type GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult struct {
	// Confidence: The Model's confidence in correction of this prediction, higher
	// value means higher confidence.
	Confidence float64 `json:"confidence,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that had been
	// identified.
	DisplayName string `json:"displayName,omitempty"`
	// Id: The resource ID of the AnnotationSpec that had been identified.
	Id string `json:"id,omitempty"`
	// TimeSegmentEnd: The end, exclusive, of the video's time segment in which the
	// AnnotationSpec has been identified. Expressed as a number of seconds as
	// measured from the start of the video, with fractions up to a microsecond
	// precision, and with "s" appended at the end.
	TimeSegmentEnd string `json:"timeSegmentEnd,omitempty"`
	// TimeSegmentStart: The beginning, inclusive, of the video's time segment in
	// which the AnnotationSpec has been identified. Expressed as a number of
	// seconds as measured from the start of the video, with fractions up to a
	// microsecond precision, and with "s" appended at the end.
	TimeSegmentStart string `json:"timeSegmentStart,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionRe
// sult: Prediction output format for Video Classification.
type GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult struct {
	// Confidence: The Model's confidence in correction of this prediction, higher
	// value means higher confidence.
	Confidence float64 `json:"confidence,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that had been
	// identified.
	DisplayName string `json:"displayName,omitempty"`
	// Id: The resource ID of the AnnotationSpec that had been identified.
	Id string `json:"id,omitempty"`
	// TimeSegmentEnd: The end, exclusive, of the video's time segment in which the
	// AnnotationSpec has been identified. Expressed as a number of seconds as
	// measured from the start of the video, with fractions up to a microsecond
	// precision, and with "s" appended at the end. Note that for
	// 'segment-classification' prediction type, this equals the original
	// 'timeSegmentEnd' from the input instance, for other types it is the end of a
	// shot or a 1 second interval respectively.
	TimeSegmentEnd string `json:"timeSegmentEnd,omitempty"`
	// TimeSegmentStart: The beginning, inclusive, of the video's time segment in
	// which the AnnotationSpec has been identified. Expressed as a number of
	// seconds as measured from the start of the video, with fractions up to a
	// microsecond precision, and with "s" appended at the end. Note that for
	// 'segment-classification' prediction type, this equals the original
	// 'timeSegmentStart' from the input instance, for other types it is the start
	// of a shot or a 1 second interval respectively.
	TimeSegmentStart string `json:"timeSegmentStart,omitempty"`
	// Type: The type of the prediction. The requested types can be configured via
	// parameters. This will be one of - segment-classification -
	// shot-classification - one-sec-interval-classification
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionRe
// sult: Prediction output format for Video Object Tracking.
type GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult struct {
	// Confidence: The Model's confidence in correction of this prediction, higher
	// value means higher confidence.
	Confidence float64 `json:"confidence,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that had been
	// identified.
	DisplayName string `json:"displayName,omitempty"`
	// Frames: All of the frames of the video in which a single object instance has
	// been detected. The bounding boxes in the frames identify the same object.
	Frames []*GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame `json:"frames,omitempty"`
	// Id: The resource ID of the AnnotationSpec that had been identified.
	Id string `json:"id,omitempty"`
	// TimeSegmentEnd: The end, inclusive, of the video's time segment in which the
	// object instance has been detected. Expressed as a number of seconds as
	// measured from the start of the video, with fractions up to a microsecond
	// precision, and with "s" appended at the end.
	TimeSegmentEnd string `json:"timeSegmentEnd,omitempty"`
	// TimeSegmentStart: The beginning, inclusive, of the video's time segment in
	// which the object instance has been detected. Expressed as a number of
	// seconds as measured from the start of the video, with fractions up to a
	// microsecond precision, and with "s" appended at the end.
	TimeSegmentStart string `json:"timeSegmentStart,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionRe
// sultFrame: The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding
// box, i.e. the rectangle over the video frame pinpointing the found
// AnnotationSpec. The coordinates are relative to the frame size, and the
// point 0,0 is in the top left of the frame.
type GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame struct {
	// TimeOffset: A time (frame) of a video in which the object has been detected.
	// Expressed as a number of seconds as measured from the start of the video,
	// with fractions up to a microsecond precision, and with "s" appended at the
	// end.
	TimeOffset string `json:"timeOffset,omitempty"`
	// XMax: The rightmost coordinate of the bounding box.
	XMax float64 `json:"xMax,omitempty"`
	// XMin: The leftmost coordinate of the bounding box.
	XMin float64 `json:"xMin,omitempty"`
	// YMax: The bottommost coordinate of the bounding box.
	YMax float64 `json:"yMax,omitempty"`
	// YMin: The topmost coordinate of the bounding box.
	YMin float64 `json:"yMin,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TimeOffset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TimeOffset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame
	var s1 struct {
		XMax gensupport.JSONFloat64 `json:"xMax"`
		XMin gensupport.JSONFloat64 `json:"xMin"`
		YMax gensupport.JSONFloat64 `json:"yMax"`
		YMin gensupport.JSONFloat64 `json:"yMin"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.XMax = float64(s1.XMax)
	s.XMin = float64(s1.XMin)
	s.YMax = float64(s1.YMax)
	s.YMin = float64(s1.YMin)
	return nil
}

// GoogleCloudAiplatformV1SchemaPredictionResult: Represents a line of JSONL in
// the batch prediction output file.
type GoogleCloudAiplatformV1SchemaPredictionResult struct {
	// Error: The error result. Do not set prediction if this is set.
	Error *GoogleCloudAiplatformV1SchemaPredictionResultError `json:"error,omitempty"`
	// Instance: User's input instance. Struct is used here instead of Any so that
	// JsonFormat does not append an extra "@type" field when we convert the proto
	// to JSON.
	Instance googleapi.RawMessage `json:"instance,omitempty"`
	// Key: Optional user-provided key from the input instance.
	Key string `json:"key,omitempty"`
	// Prediction: The prediction result. Value is used here instead of Any so that
	// JsonFormat does not append an extra "@type" field when we convert the proto
	// to JSON and so we can represent array of objects. Do not set error if this
	// is set.
	Prediction interface{} `json:"prediction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Error") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictionResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaPredictionResultError struct {
	// Message: Error message with additional details.
	Message string `json:"message,omitempty"`
	// Status: Error status. This will be serialized into the enum name e.g.
	// "NOT_FOUND".
	//
	// Possible values:
	//   "OK" - Not an error; returned on success. HTTP Mapping: 200 OK
	//   "CANCELLED" - The operation was cancelled, typically by the caller. HTTP
	// Mapping: 499 Client Closed Request
	//   "UNKNOWN" - Unknown error. For example, this error may be returned when a
	// `Status` value received from another address space belongs to an error space
	// that is not known in this address space. Also errors raised by APIs that do
	// not return enough error information may be converted to this error. HTTP
	// Mapping: 500 Internal Server Error
	//   "INVALID_ARGUMENT" - The client specified an invalid argument. Note that
	// this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates
	// arguments that are problematic regardless of the state of the system (e.g.,
	// a malformed file name). HTTP Mapping: 400 Bad Request
	//   "DEADLINE_EXCEEDED" - The deadline expired before the operation could
	// complete. For operations that change the state of the system, this error may
	// be returned even if the operation has completed successfully. For example, a
	// successful response from a server could have been delayed long enough for
	// the deadline to expire. HTTP Mapping: 504 Gateway Timeout
	//   "NOT_FOUND" - Some requested entity (e.g., file or directory) was not
	// found. Note to server developers: if a request is denied for an entire class
	// of users, such as gradual feature rollout or undocumented allowlist,
	// `NOT_FOUND` may be used. If a request is denied for some users within a
	// class of users, such as user-based access control, `PERMISSION_DENIED` must
	// be used. HTTP Mapping: 404 Not Found
	//   "ALREADY_EXISTS" - The entity that a client attempted to create (e.g.,
	// file or directory) already exists. HTTP Mapping: 409 Conflict
	//   "PERMISSION_DENIED" - The caller does not have permission to execute the
	// specified operation. `PERMISSION_DENIED` must not be used for rejections
	// caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for
	// those errors). `PERMISSION_DENIED` must not be used if the caller can not be
	// identified (use `UNAUTHENTICATED` instead for those errors). This error code
	// does not imply the request is valid or the requested entity exists or
	// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
	//   "UNAUTHENTICATED" - The request does not have valid authentication
	// credentials for the operation. HTTP Mapping: 401 Unauthorized
	//   "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
	// per-user quota, or perhaps the entire file system is out of space. HTTP
	// Mapping: 429 Too Many Requests
	//   "FAILED_PRECONDITION" - The operation was rejected because the system is
	// not in a state required for the operation's execution. For example, the
	// directory to be deleted is non-empty, an rmdir operation is applied to a
	// non-directory, etc. Service implementors can use the following guidelines to
	// decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use
	// `UNAVAILABLE` if the client can retry just the failing call. (b) Use
	// `ABORTED` if the client should retry at a higher level. For example, when a
	// client-specified test-and-set fails, indicating the client should restart a
	// read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client
	// should not retry until the system state has been explicitly fixed. For
	// example, if an "rmdir" fails because the directory is non-empty,
	// `FAILED_PRECONDITION` should be returned since the client should not retry
	// unless the files are deleted from the directory. HTTP Mapping: 400 Bad
	// Request
	//   "ABORTED" - The operation was aborted, typically due to a concurrency
	// issue such as a sequencer check failure or transaction abort. See the
	// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
	// `UNAVAILABLE`. HTTP Mapping: 409 Conflict
	//   "OUT_OF_RANGE" - The operation was attempted past the valid range. E.g.,
	// seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error
	// indicates a problem that may be fixed if the system state changes. For
	// example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to
	// read at an offset that is not in the range [0,2^32-1], but it will generate
	// `OUT_OF_RANGE` if asked to read from an offset past the current file size.
	// There is a fair bit of overlap between `FAILED_PRECONDITION` and
	// `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error)
	// when it applies so that callers who are iterating through a space can easily
	// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping:
	// 400 Bad Request
	//   "UNIMPLEMENTED" - The operation is not implemented or is not
	// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
	//   "INTERNAL" - Internal errors. This means that some invariants expected by
	// the underlying system have been broken. This error code is reserved for
	// serious errors. HTTP Mapping: 500 Internal Server Error
	//   "UNAVAILABLE" - The service is currently unavailable. This is most likely
	// a transient condition, which can be corrected by retrying with a backoff.
	// Note that it is not always safe to retry non-idempotent operations. See the
	// guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and
	// `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable
	//   "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping: 500
	// Internal Server Error
	Status string `json:"status,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Message") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Message") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPredictionResultError) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictionResultError
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptApiSchema: The A2 schema of a prompt.
type GoogleCloudAiplatformV1SchemaPromptApiSchema struct {
	// ApiSchemaVersion: The Schema version that represents changes to the API
	// behavior.
	ApiSchemaVersion string `json:"apiSchemaVersion,omitempty"`
	// Executions: A list of execution instances for constructing a ready-to-use
	// prompt.
	Executions []*GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution `json:"executions,omitempty"`
	// MultimodalPrompt: Multimodal prompt which embeds preambles to prompt string.
	MultimodalPrompt *GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt `json:"multimodalPrompt,omitempty"`
	// StructuredPrompt: The prompt variation that stores preambles in separate
	// fields.
	StructuredPrompt *GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt `json:"structuredPrompt,omitempty"`
	// TranslationPrompt: The prompt variation for Translation use case.
	TranslationPrompt *GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt `json:"translationPrompt,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiSchemaVersion") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiSchemaVersion") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptApiSchema) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptApiSchema
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution: A prompt
// instance's parameters set that contains a set of variable values.
type GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution struct {
	// Arguments: Maps variable names to their value.
	Arguments map[string]GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue `json:"arguments,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Arguments") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Arguments") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue: The value of a
// variable in prompt.
type GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue struct {
	// PartList: The parts of the variable value.
	PartList *GoogleCloudAiplatformV1SchemaPromptSpecPartList `json:"partList,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PartList") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PartList") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData: Defines data for an
// application builder.
type GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData struct {
	// CodeRepositoryState: Serialized state of the code repository. This string
	// will typically contain a JSON representation of the UI's
	// CodeRepositoryService state (files, folders, content, and any metadata). The
	// UI is responsible for serialization and deserialization.
	CodeRepositoryState string `json:"codeRepositoryState,omitempty"`
	// Framework: Optional. Framework used to build the application.
	//
	// Possible values:
	//   "FRAMEWORK_UNSPECIFIED" - Unspecified framework.
	//   "REACT" - React framework.
	//   "ANGULAR" - Angular framework.
	Framework string `json:"framework,omitempty"`
	// LinkedResources: Linked resources attached to the application by the user.
	LinkedResources []*GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource `json:"linkedResources,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CodeRepositoryState") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CodeRepositoryState") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource: A
// linked resource attached to the application by the user.
type GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource struct {
	// DisplayName: A user-friendly name for the data source shown in the UI.
	DisplayName string `json:"displayName,omitempty"`
	// Name: The unique resource name of the data source. The format is determined
	// by the 'type' field. For type "SAVED_PROMPT":
	// projects/{project}/locations/{location}/datasets/{dataset} For type
	// "AI_AGENT": projects/{project}/locations/{location}/agents/{agent}
	Name string `json:"name,omitempty"`
	// Type: The type of the linked resource. e.g., "SAVED_PROMPT", "AI_AGENT" This
	// string corresponds to the name of the LinkedResourceType enum member. See:
	// google3/cloud/console/web/ai/platform/llm/prompts/build/services/specs_reposi
	// tory_service/linked_resources/linked_resource.ts
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderDataLinkedResource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecInteractionData: Defines data for an
// interaction prompt.
type GoogleCloudAiplatformV1SchemaPromptSpecInteractionData struct {
	// InteractionIds: Optional. Lists interaction IDs associated with the prompt.
	// This maps 1:1 to PromptMessage.contents. If InteractionData is present,
	// every prompt message has an interaction ID.
	InteractionIds []string `json:"interactionIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InteractionIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InteractionIds") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecInteractionData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecInteractionData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt: Prompt variation
// that embeds preambles to prompt string.
type GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt struct {
	// PromptMessage: The prompt message.
	PromptMessage *GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage `json:"promptMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PromptMessage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PromptMessage") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecPartList: A list of elements and
// information that make up a portion of prompt.
type GoogleCloudAiplatformV1SchemaPromptSpecPartList struct {
	// Parts: A list of elements that can be part of a prompt.
	Parts []*GoogleCloudAiplatformV1Part `json:"parts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Parts") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Parts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecPartList) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecPartList
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage: The prompt message
// that aligns with the prompt message in
// google.cloud.aiplatform.master.GenerateContentRequest.
type GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage struct {
	// Contents: 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 []*GoogleCloudAiplatformV1Content `json:"contents,omitempty"`
	// GenerationConfig: Generation config.
	GenerationConfig *GoogleCloudAiplatformV1GenerationConfig `json:"generationConfig,omitempty"`
	// Model: The model name.
	Model string `json:"model,omitempty"`
	// SafetySettings: Per request settings for blocking unsafe content. Enforced
	// on GenerateContentResponse.candidates.
	SafetySettings []*GoogleCloudAiplatformV1SafetySetting `json:"safetySettings,omitempty"`
	// SystemInstruction: The user provided system instructions for the model.
	// Note: only text should be used in parts and content in each part will be in
	// a separate paragraph.
	SystemInstruction *GoogleCloudAiplatformV1Content `json:"systemInstruction,omitempty"`
	// ToolConfig: Tool config. This config is shared for all tools provided in the
	// request.
	ToolConfig *GoogleCloudAiplatformV1ToolConfig `json:"toolConfig,omitempty"`
	// Tools: 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 []*GoogleCloudAiplatformV1Tool `json:"tools,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Contents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Contents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair: A pair of
// sentences used as reference in source and target languages.
type GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair struct {
	// SourceSentence: Source sentence in the sentence pair.
	SourceSentence string `json:"sourceSentence,omitempty"`
	// TargetSentence: Target sentence in the sentence pair.
	TargetSentence string `json:"targetSentence,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SourceSentence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SourceSentence") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList: A list of
// reference sentence pairs.
type GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList struct {
	// ReferenceSentencePairs: Reference sentence pairs.
	ReferenceSentencePairs []*GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair `json:"referenceSentencePairs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ReferenceSentencePairs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ReferenceSentencePairs") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt: Prompt variation
// that stores preambles in separate fields.
type GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt struct {
	// AppBuilderData: Data for app builder use case.
	AppBuilderData *GoogleCloudAiplatformV1SchemaPromptSpecAppBuilderData `json:"appBuilderData,omitempty"`
	// Context: Preamble: The context of the prompt.
	Context *GoogleCloudAiplatformV1Content `json:"context,omitempty"`
	// Examples: Preamble: A set of examples for expected model response.
	Examples []*GoogleCloudAiplatformV1SchemaPromptSpecPartList `json:"examples,omitempty"`
	// InfillPrefix: Preamble: For infill prompt, the prefix before expected model
	// response.
	InfillPrefix string `json:"infillPrefix,omitempty"`
	// InfillSuffix: Preamble: For infill prompt, the suffix after expected model
	// response.
	InfillSuffix string `json:"infillSuffix,omitempty"`
	// InputPrefixes: Preamble: The input prefixes before each example input.
	InputPrefixes []string `json:"inputPrefixes,omitempty"`
	// InteractionData: Data for interaction use case.
	InteractionData *GoogleCloudAiplatformV1SchemaPromptSpecInteractionData `json:"interactionData,omitempty"`
	// OutputPrefixes: Preamble: The output prefixes before each example output.
	OutputPrefixes []string `json:"outputPrefixes,omitempty"`
	// PredictionInputs: Preamble: The input test data for prediction. Each
	// PartList in this field represents one text-only input set for a single model
	// request.
	PredictionInputs []*GoogleCloudAiplatformV1SchemaPromptSpecPartList `json:"predictionInputs,omitempty"`
	// PromptMessage: The prompt message.
	PromptMessage *GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage `json:"promptMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AppBuilderData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AppBuilderData") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample: The translation
// example that contains reference sentences from various sources.
type GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample struct {
	// ReferenceSentencePairLists: The reference sentences from inline text.
	ReferenceSentencePairLists []*GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList `json:"referenceSentencePairLists,omitempty"`
	// ReferenceSentencesFileInputs: The reference sentences from file.
	ReferenceSentencesFileInputs []*GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput `json:"referenceSentencesFileInputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ReferenceSentencePairLists")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ReferenceSentencePairLists") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource struct {
	// Content: The file's contents.
	Content string `json:"content,omitempty"`
	// DisplayName: The file's display name.
	DisplayName string `json:"displayName,omitempty"`
	// MimeType: The file's mime type.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource struct {
	// InputUri: Source data URI. For example, `gs://my_bucket/my_object`.
	InputUri string `json:"inputUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InputUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InputUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption: Optional settings
// for translation prompt.
type GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption struct {
	// NumberOfShots: How many shots to use.
	NumberOfShots int64 `json:"numberOfShots,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NumberOfShots") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NumberOfShots") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt: Prompt variation
// for Translation use case.
type GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt struct {
	// Example: The translation example.
	Example *GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample `json:"example,omitempty"`
	// Option: The translation option.
	Option *GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption `json:"option,omitempty"`
	// PromptMessage: The prompt message.
	PromptMessage *GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage `json:"promptMessage,omitempty"`
	// SourceLanguageCode: The source language code.
	SourceLanguageCode string `json:"sourceLanguageCode,omitempty"`
	// TargetLanguageCode: The target language code.
	TargetLanguageCode string `json:"targetLanguageCode,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Example") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Example") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput struct {
	// FileInputSource: Inlined file source.
	FileInputSource *GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource `json:"fileInputSource,omitempty"`
	// GcsInputSource: Cloud Storage file source.
	GcsInputSource *GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource `json:"gcsInputSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FileInputSource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FileInputSource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTablesDatasetMetadata: The metadata of Datasets
// that contain tables data.
type GoogleCloudAiplatformV1SchemaTablesDatasetMetadata struct {
	InputConfig *GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig `json:"inputConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InputConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InputConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTablesDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource struct {
	// Uri: The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Uri") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource struct {
	// Uri: Cloud Storage URI of one or more files. Only CSV files are supported.
	// The first line of the CSV file is used as the header. If there are multiple
	// files, the header is the first line of the lexicographically first file, the
	// other files must either contain the exact same header or omit the header.
	Uri []string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Uri") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig: The tables
// Dataset's data source. The Dataset doesn't store the data directly, but only
// pointer(s) to its data.
type GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig struct {
	BigquerySource *GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource `json:"bigquerySource,omitempty"`
	GcsSource      *GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource      `json:"gcsSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigquerySource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigquerySource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTextClassificationAnnotation: Annotation
// details specific to text classification.
type GoogleCloudAiplatformV1SchemaTextClassificationAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextClassificationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextClassificationAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTextDataItem: Payload of Text DataItem.
type GoogleCloudAiplatformV1SchemaTextDataItem struct {
	// GcsUri: Output only. Google Cloud Storage URI points to a copy of the
	// original text in the Vertex-managed bucket in the user's project. The text
	// file is up to 10MB in size.
	GcsUri string `json:"gcsUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsUri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextDataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextDataItem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTextDatasetMetadata: The metadata of Datasets
// that contain Text DataItems.
type GoogleCloudAiplatformV1SchemaTextDatasetMetadata struct {
	// DataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
	// describing payload of the Text DataItems that belong to this Dataset.
	DataItemSchemaUri string `json:"dataItemSchemaUri,omitempty"`
	// GcsBucket: Google Cloud Storage Bucket name that contains the blob data of
	// this Dataset.
	GcsBucket string `json:"gcsBucket,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataItemSchemaUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataItemSchemaUri") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextDatasetMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTextExtractionAnnotation: Annotation details
// specific to text extraction.
type GoogleCloudAiplatformV1SchemaTextExtractionAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// TextSegment: The segment of the text content.
	TextSegment *GoogleCloudAiplatformV1SchemaTextSegment `json:"textSegment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextExtractionAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextExtractionAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata: The metadata of
// Datasets that contain Text Prompt data.
type GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata struct {
	// CandidateCount: Number of candidates.
	CandidateCount int64 `json:"candidateCount,omitempty,string"`
	// GcsUri: The Google Cloud Storage URI that stores the prompt data.
	GcsUri string `json:"gcsUri,omitempty"`
	// GroundingConfig: Grounding checking configuration.
	GroundingConfig *GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig `json:"groundingConfig,omitempty"`
	// HasPromptVariable: Whether the prompt dataset has prompt variable.
	HasPromptVariable bool `json:"hasPromptVariable,omitempty"`
	// Logprobs: Whether or not the user has enabled logit probabilities in the
	// model parameters.
	Logprobs bool `json:"logprobs,omitempty"`
	// MaxOutputTokens: Value of the maximum number of tokens generated set when
	// the dataset was saved.
	MaxOutputTokens int64 `json:"maxOutputTokens,omitempty,string"`
	// Note: User-created prompt note. Note size limit is 2KB.
	Note string `json:"note,omitempty"`
	// PromptApiSchema: The API schema of the prompt to support both UI and SDK
	// usages.
	PromptApiSchema *GoogleCloudAiplatformV1SchemaPromptApiSchema `json:"promptApiSchema,omitempty"`
	// PromptType: Type of the prompt dataset.
	PromptType string `json:"promptType,omitempty"`
	// SeedEnabled: Seeding enables model to return a deterministic response on a
	// best effort basis. Determinism isn't guaranteed. This field determines
	// whether or not seeding is enabled.
	SeedEnabled bool `json:"seedEnabled,omitempty"`
	// SeedValue: The actual value of the seed.
	SeedValue int64 `json:"seedValue,omitempty,string"`
	// StopSequences: Customized stop sequences.
	StopSequences []string `json:"stopSequences,omitempty"`
	// SystemInstruction: The content of the prompt dataset system instruction.
	SystemInstruction string `json:"systemInstruction,omitempty"`
	// SystemInstructionGcsUri: The Google Cloud Storage URI that stores the system
	// instruction, starting with gs://.
	SystemInstructionGcsUri string `json:"systemInstructionGcsUri,omitempty"`
	// Temperature: Temperature value used for sampling set when the dataset was
	// saved. This value is used to tune the degree of randomness.
	Temperature float64 `json:"temperature,omitempty"`
	// Text: The content of the prompt dataset.
	Text string `json:"text,omitempty"`
	// TopK: Top K value set when the dataset was saved. This value determines how
	// many candidates with highest probability from the vocab would be selected
	// for each decoding step.
	TopK int64 `json:"topK,omitempty,string"`
	// TopP: Top P value set when the dataset was saved. Given topK tokens for
	// decoding, top candidates will be selected until the sum of their
	// probabilities is topP.
	TopP float64 `json:"topP,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CandidateCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CandidateCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata
	var s1 struct {
		Temperature gensupport.JSONFloat64 `json:"temperature"`
		TopP        gensupport.JSONFloat64 `json:"topP"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Temperature = float64(s1.Temperature)
	s.TopP = float64(s1.TopP)
	return nil
}

// GoogleCloudAiplatformV1SchemaTextSegment: The text segment inside of
// DataItem.
type GoogleCloudAiplatformV1SchemaTextSegment struct {
	// Content: The text content in the segment for output only.
	Content string `json:"content,omitempty"`
	// EndOffset: Zero-based character index of the first character past the end of
	// the text segment (counting character from the beginning of the text). The
	// character at the end_offset is NOT included in the text segment.
	EndOffset uint64 `json:"endOffset,omitempty,string"`
	// StartOffset: Zero-based character index of the first character of the text
	// segment (counting characters from the beginning of the text).
	StartOffset uint64 `json:"startOffset,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextSegment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextSegment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTextSentimentAnnotation: Annotation details
// specific to text sentiment.
type GoogleCloudAiplatformV1SchemaTextSentimentAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// Sentiment: The sentiment score for text.
	Sentiment int64 `json:"sentiment,omitempty"`
	// SentimentMax: The sentiment max score for text.
	SentimentMax int64 `json:"sentimentMax,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextSentimentAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextSentimentAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata: The metadata
// of SavedQuery contains TextSentiment Annotations.
type GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata struct {
	// SentimentMax: The maximum sentiment of sentiment Anntoation in this
	// SavedQuery.
	SentimentMax int64 `json:"sentimentMax,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SentimentMax") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SentimentMax") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTimeSegment: A time period inside of a DataItem
// that has a time dimension (e.g. video).
type GoogleCloudAiplatformV1SchemaTimeSegment struct {
	// EndTimeOffset: End of the time segment (exclusive), represented as the
	// duration since the start of the DataItem.
	EndTimeOffset string `json:"endTimeOffset,omitempty"`
	// StartTimeOffset: Start of the time segment (inclusive), represented as the
	// duration since the start of the DataItem.
	StartTimeOffset string `json:"startTimeOffset,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTimeOffset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTimeSegment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSegment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata: The metadata of
// Datasets that contain time series data.
type GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata struct {
	InputConfig *GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig `json:"inputConfig,omitempty"`
	// TimeColumn: The column name of the time column that identifies time order in
	// the time series.
	TimeColumn string `json:"timeColumn,omitempty"`
	// TimeSeriesIdentifierColumn: The column name of the time series identifier
	// column that identifies the time series.
	TimeSeriesIdentifierColumn string `json:"timeSeriesIdentifierColumn,omitempty"`
	// ForceSendFields is a list of field names (e.g. "InputConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "InputConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource struct {
	// Uri: The URI of a BigQuery table.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Uri") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource struct {
	// Uri: Cloud Storage URI of one or more files. Only CSV files are supported.
	// The first line of the CSV file is used as the header. If there are multiple
	// files, the header is the first line of the lexicographically first file, the
	// other files must either contain the exact same header or omit the header.
	Uri []string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Uri") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig: The time
// series Dataset's data source. The Dataset doesn't store the data directly,
// but only pointer(s) to its data.
type GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig struct {
	BigquerySource *GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource `json:"bigquerySource,omitempty"`
	GcsSource      *GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource      `json:"gcsSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigquerySource") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigquerySource") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting: A
// TrainingJob that trains and uploads an AutoML Forecasting Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs struct {
	// AdditionalExperiments: Additional experiment flags for the time series
	// forcasting training.
	AdditionalExperiments []string `json:"additionalExperiments,omitempty"`
	// AvailableAtForecastColumns: Names of columns that are available and provided
	// when a forecast is requested. These columns contain information for the
	// given entity (identified by the time_series_identifier_column column) that
	// is known at forecast. For example, predicted weather for a specific day.
	AvailableAtForecastColumns []string `json:"availableAtForecastColumns,omitempty"`
	// ContextWindow: The amount of time into the past training and prediction data
	// is used for model training and prediction respectively. Expressed in number
	// of units defined by the `data_granularity` field.
	ContextWindow int64 `json:"contextWindow,omitempty,string"`
	// DataGranularity: Expected difference in time granularity between rows in the
	// data.
	DataGranularity *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity `json:"dataGranularity,omitempty"`
	// EnableProbabilisticInference: If probabilistic inference is enabled, the
	// model will fit a distribution that captures the uncertainty of a prediction.
	// At inference time, the predictive distribution is used to make a point
	// prediction that minimizes the optimization objective. For example, the mean
	// of a predictive distribution is the point prediction that minimizes RMSE
	// loss. If quantiles are specified, then the quantiles of the distribution are
	// also returned. The optimization objective cannot be minimize-quantile-loss.
	EnableProbabilisticInference bool `json:"enableProbabilisticInference,omitempty"`
	// ExportEvaluatedDataItemsConfig: Configuration for exporting test set
	// predictions to a BigQuery table. If this configuration is absent, then the
	// export is not performed.
	ExportEvaluatedDataItemsConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig `json:"exportEvaluatedDataItemsConfig,omitempty"`
	// ForecastHorizon: The amount of time into the future for which forecasted
	// values for the target are returned. Expressed in number of units defined by
	// the `data_granularity` field.
	ForecastHorizon int64 `json:"forecastHorizon,omitempty,string"`
	// HierarchyConfig: Configuration that defines the hierarchical relationship of
	// time series and parameters for hierarchical forecasting strategies.
	HierarchyConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig `json:"hierarchyConfig,omitempty"`
	// HolidayRegions: The geographical region based on which the holiday effect is
	// applied in modeling by adding holiday categorical array feature that include
	// all holidays matching the date. This option only allowed when
	// data_granularity is day. By default, holiday effect modeling is disabled. To
	// turn it on, specify the holiday region using this option.
	HolidayRegions []string `json:"holidayRegions,omitempty"`
	// OptimizationObjective: Objective function the model is optimizing towards.
	// The training process creates a model that optimizes the value of the
	// objective function over the validation set. The supported optimization
	// objectives: * "minimize-rmse" (default) - Minimize root-mean-squared error
	// (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). *
	// "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). *
	// "minimize-rmspe" - Minimize root-mean-squared percentage error (RMSPE). *
	// "minimize-wape-mae" - Minimize the combination of weighted absolute
	// percentage error (WAPE) and mean-absolute-error (MAE). *
	// "minimize-quantile-loss" - Minimize the quantile loss at the quantiles
	// defined in `quantiles`. * "minimize-mape" - Minimize the mean absolute
	// percentage error.
	OptimizationObjective string `json:"optimizationObjective,omitempty"`
	// Quantiles: Quantiles to use for minimize-quantile-loss
	// `optimization_objective`, or for probabilistic inference. Up to 5 quantiles
	// are allowed of values between 0 and 1, exclusive. Required if the value of
	// optimization_objective is minimize-quantile-loss. Represents the percent
	// quantiles to use for that objective. Quantiles must be unique.
	Quantiles []float64 `json:"quantiles,omitempty"`
	// TargetColumn: The name of the column that the Model is to predict values
	// for. This column must be unavailable at forecast.
	TargetColumn string `json:"targetColumn,omitempty"`
	// TimeColumn: The name of the column that identifies time order in the time
	// series. This column must be available at forecast.
	TimeColumn string `json:"timeColumn,omitempty"`
	// TimeSeriesAttributeColumns: Column names that should be used as attribute
	// columns. The value of these columns does not vary as a function of time. For
	// example, store ID or item color.
	TimeSeriesAttributeColumns []string `json:"timeSeriesAttributeColumns,omitempty"`
	// TimeSeriesIdentifierColumn: The name of the column that identifies the time
	// series.
	TimeSeriesIdentifierColumn string `json:"timeSeriesIdentifierColumn,omitempty"`
	// TrainBudgetMilliNodeHours: Required. The train budget of creating this
	// model, expressed in milli node hours i.e. 1,000 value in this field means 1
	// node hour. The training cost of the model will not exceed this budget. The
	// final cost will be attempted to be close to the budget, though may end up
	// being (even) noticeably smaller - at the backend's discretion. This
	// especially may happen when further model training ceases to provide any
	// improvements. If the budget is set to a value known to be insufficient to
	// train a model for the given dataset, the training won't be attempted and
	// will error. The train budget must be between 1,000 and 72,000 milli node
	// hours, inclusive.
	TrainBudgetMilliNodeHours int64 `json:"trainBudgetMilliNodeHours,omitempty,string"`
	// Transformations: Each transformation will apply transform function to given
	// input column. And the result will be used for training. When creating
	// transformation for BigQuery Struct column, the column should be flattened
	// using "." as the delimiter.
	Transformations []*GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation `json:"transformations,omitempty"`
	// UnavailableAtForecastColumns: Names of columns that are unavailable when a
	// forecast is requested. This column contains information for the given entity
	// (identified by the time_series_identifier_column) that is unknown before the
	// forecast For example, actual weather on a given day.
	UnavailableAtForecastColumns []string `json:"unavailableAtForecastColumns,omitempty"`
	// ValidationOptions: Validation options for the data validation component. The
	// available options are: * "fail-pipeline" - default, will validate against
	// the validation and fail the pipeline if it fails. * "ignore-validation" -
	// ignore the results of the validation and continue
	ValidationOptions string `json:"validationOptions,omitempty"`
	// WeightColumn: Column name that should be used as the weight column. Higher
	// values in this column give more importance to the row during model training.
	// The column must have numeric values between 0 and 10000 inclusively; 0 means
	// the row is ignored for training. If weight column field is not set, then all
	// rows are assumed to have equal weight of 1.
	WeightColumn string `json:"weightColumn,omitempty"`
	// WindowConfig: Config containing strategy for generating sliding windows.
	WindowConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig `json:"windowConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalExperiments") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalExperiments") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs
	var s1 struct {
		Quantiles []gensupport.JSONFloat64 `json:"quantiles"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Quantiles = make([]float64, len(s1.Quantiles))
	for i := range s1.Quantiles {
		s.Quantiles[i] = float64(s1.Quantiles[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGran
// ularity: A duration of time expressed in time granularity units.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity struct {
	// Quantity: The number of granularity_units between data points in the
	// training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or
	// 30. For all other values of `granularity_unit`, must be 1.
	Quantity int64 `json:"quantity,omitempty,string"`
	// Unit: The time granularity unit of this time period. The supported units
	// are: * "minute" * "hour" * "day" * "week" * "month" * "year"
	Unit string `json:"unit,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Quantity") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Quantity") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation struct {
	Auto        *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation        `json:"auto,omitempty"`
	Categorical *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation `json:"categorical,omitempty"`
	Numeric     *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation     `json:"numeric,omitempty"`
	Text        *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation        `json:"text,omitempty"`
	Timestamp   *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation   `json:"timestamp,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Auto") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Auto") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTran
// sformationAutoTransformation: Training pipeline will infer the proper
// transformation based on the statistic of dataset.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTran
// sformationCategoricalTransformation: Training pipeline will perform
// following transformation functions. * The categorical string as is--no
// change to case, punctuation, spelling, tense, and so on. * Convert the
// category name to a dictionary lookup index and generate an embedding for
// each index. * Categories that appear less than 5 times in the training
// dataset are treated as the "unknown" category. The "unknown" category gets
// its own special lookup index and resulting embedding.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTran
// sformationNumericTransformation: Training pipeline will perform following
// transformation functions. * The value converted to float32. * The z_score of
// the value. * log(value+1) when the value is greater than or equal to 0.
// Otherwise, this transformation is not applied and the value is considered a
// missing value. * z_score of log(value+1) when the value is greater than or
// equal to 0. Otherwise, this transformation is not applied and the value is
// considered a missing value. * A boolean value that indicates whether the
// value is valid.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTran
// sformationTextTransformation: Training pipeline will perform following
// transformation functions. * The text as is--no change to case, punctuation,
// spelling, tense, and so on. * Convert the category name to a dictionary
// lookup index and generate an embedding for each index.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTran
// sformationTimestampTransformation: Training pipeline will perform following
// transformation functions. * Apply the transformation functions for Numerical
// columns. * Determine the year, month, day,and weekday. Treat each value from
// the timestamp as a Categorical column. * Invalid numerical values (for
// example, values that fall outside of a typical timestamp range, or are
// extreme values) receive no special treatment and are not removed.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// TimeFormat: The format in which that time field is expressed. The
	// time_format must either be one of: * `unix-seconds` * `unix-milliseconds` *
	// `unix-microseconds` * `unix-nanoseconds` (for respectively number of
	// seconds, milliseconds, microseconds and nanoseconds since start of the Unix
	// epoch); or be written in `strftime` syntax. If time_format is not set, then
	// the default format is RFC 3339 `date-time` format, where `time-offset` =
	// "Z" (e.g. 1985-04-12T23:20:50.52Z)
	TimeFormat string `json:"timeFormat,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata:
// Model metadata specific to AutoML Forecasting.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata struct {
	// EvaluatedDataItemsBigqueryUri: BigQuery destination uri for exported
	// evaluated examples.
	EvaluatedDataItemsBigqueryUri string `json:"evaluatedDataItemsBigqueryUri,omitempty"`
	// TrainCostMilliNodeHours: Output only. The actual training cost of the model,
	// expressed in milli node hours, i.e. 1,000 value in this field means 1 node
	// hour. Guaranteed to not exceed the train budget.
	TrainCostMilliNodeHours int64 `json:"trainCostMilliNodeHours,omitempty,string"`
	// ForceSendFields is a list of field names (e.g.
	// "EvaluatedDataItemsBigqueryUri") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluatedDataItemsBigqueryUri")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification:
// A TrainingJob that trains and uploads an AutoML Image Classification Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs struct {
	// BaseModelId: The ID of the `base` model. If it is specified, the new model
	// will be trained based on the `base` model. Otherwise, the new model will be
	// trained from scratch. The `base` model must be in the same Project and
	// Location as the new Model to train, and have the same modelType.
	BaseModelId string `json:"baseModelId,omitempty"`
	// BudgetMilliNodeHours: The training budget of creating this model, expressed
	// in milli node hours i.e. 1,000 value in this field means 1 node hour. The
	// actual metadata.costMilliNodeHours will be equal or less than this value. If
	// further model training ceases to provide any improvements, it will stop
	// without using the full budget and the metadata.successfulStopReason will be
	// `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved.
	// For modelType `cloud`(default), the budget must be between 8,000 and 800,000
	// milli node hours, inclusive. The default value is 192,000 which represents
	// one day in wall time, considering 8 nodes are used. For model types
	// `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`,
	// `mobile-tf-high-accuracy-1`, the training budget must be between 1,000 and
	// 100,000 milli node hours, inclusive. The default value is 24,000 which
	// represents one day in wall time on a single node that is used.
	BudgetMilliNodeHours int64 `json:"budgetMilliNodeHours,omitempty,string"`
	// DisableEarlyStopping: Use the entire training budget. This disables the
	// early stopping feature. When false the early stopping feature is enabled,
	// which means that AutoML Image Classification might stop training before the
	// entire training budget has been used.
	DisableEarlyStopping bool `json:"disableEarlyStopping,omitempty"`
	// Possible values:
	//   "MODEL_TYPE_UNSPECIFIED" - Should not be set.
	//   "CLOUD" - A Model best tailored to be used within Google Cloud, and which
	// cannot be exported. Default.
	//   "CLOUD_1" - A model type best tailored to be used within Google Cloud,
	// which cannot be exported externally. Compared to the CLOUD model above, it
	// is expected to have higher prediction accuracy.
	//   "MOBILE_TF_LOW_LATENCY_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) as
	// TensorFlow or Core ML model and used on a mobile or edge device afterwards.
	// Expected to have low latency, but may have lower prediction quality than
	// other mobile models.
	//   "MOBILE_TF_VERSATILE_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) as
	// TensorFlow or Core ML model and used on a mobile or edge device with
	// afterwards.
	//   "MOBILE_TF_HIGH_ACCURACY_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) as
	// TensorFlow or Core ML model and used on a mobile or edge device afterwards.
	// Expected to have a higher latency, but should also have a higher prediction
	// quality than other mobile models.
	//   "EFFICIENTNET" - EfficientNet model for Model Garden training with
	// customizable hyperparameters. Best tailored to be used within Google Cloud,
	// and cannot be exported externally.
	//   "MAXVIT" - MaxViT model for Model Garden training with customizable
	// hyperparameters. Best tailored to be used within Google Cloud, and cannot be
	// exported externally.
	//   "VIT" - ViT model for Model Garden training with customizable
	// hyperparameters. Best tailored to be used within Google Cloud, and cannot be
	// exported externally.
	//   "COCA" - CoCa model for Model Garden training with customizable
	// hyperparameters. Best tailored to be used within Google Cloud, and cannot be
	// exported externally.
	ModelType string `json:"modelType,omitempty"`
	// MultiLabel: If false, a single-label (multi-class) Model will be trained
	// (i.e. assuming that for each image just up to one annotation may be
	// applicable). If true, a multi-label Model will be trained (i.e. assuming
	// that for each image multiple annotations may be applicable).
	MultiLabel bool `json:"multiLabel,omitempty"`
	// TunableParameter: Trainer type for Vision TrainRequest.
	TunableParameter *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter `json:"tunableParameter,omitempty"`
	// UptrainBaseModelId: The ID of `base` model for upTraining. If it is
	// specified, the new model will be upTrained based on the `base` model for
	// upTraining. Otherwise, the new model will be trained from scratch. The
	// `base` model for upTraining must be in the same Project and Location as the
	// new Model to train, and have the same modelType.
	UptrainBaseModelId string `json:"uptrainBaseModelId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaseModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaseModelId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata struct {
	// CostMilliNodeHours: The actual training cost of creating this model,
	// expressed in milli node hours, i.e. 1,000 value in this field means 1 node
	// hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.
	CostMilliNodeHours int64 `json:"costMilliNodeHours,omitempty,string"`
	// SuccessfulStopReason: For successful job completions, this is the reason why
	// the job has finished.
	//
	// Possible values:
	//   "SUCCESSFUL_STOP_REASON_UNSPECIFIED" - Should not be set.
	//   "BUDGET_REACHED" - The inputs.budgetMilliNodeHours had been reached.
	//   "MODEL_CONVERGED" - Further training of the Model ceased to increase its
	// quality, since it already has converged.
	SuccessfulStopReason string `json:"successfulStopReason,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CostMilliNodeHours") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CostMilliNodeHours") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection:
//
//	A TrainingJob that trains and uploads an AutoML Image Object Detection
//
// Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs `json:"inputs,omitempty"`
	// Metadata: The metadata information
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs struct {
	// BudgetMilliNodeHours: The training budget of creating this model, expressed
	// in milli node hours i.e. 1,000 value in this field means 1 node hour. The
	// actual metadata.costMilliNodeHours will be equal or less than this value. If
	// further model training ceases to provide any improvements, it will stop
	// without using the full budget and the metadata.successfulStopReason will be
	// `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved.
	// For modelType `cloud`(default), the budget must be between 20,000 and
	// 900,000 milli node hours, inclusive. The default value is 216,000 which
	// represents one day in wall time, considering 9 nodes are used. For model
	// types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`,
	// `mobile-tf-high-accuracy-1` the training budget must be between 1,000 and
	// 100,000 milli node hours, inclusive. The default value is 24,000 which
	// represents one day in wall time on a single node that is used.
	BudgetMilliNodeHours int64 `json:"budgetMilliNodeHours,omitempty,string"`
	// DisableEarlyStopping: Use the entire training budget. This disables the
	// early stopping feature. When false the early stopping feature is enabled,
	// which means that AutoML Image Object Detection might stop training before
	// the entire training budget has been used.
	DisableEarlyStopping bool `json:"disableEarlyStopping,omitempty"`
	// Possible values:
	//   "MODEL_TYPE_UNSPECIFIED" - Should not be set.
	//   "CLOUD_HIGH_ACCURACY_1" - A model best tailored to be used within Google
	// Cloud, and which cannot be exported. Expected to have a higher latency, but
	// should also have a higher prediction quality than other cloud models.
	//   "CLOUD_LOW_LATENCY_1" - A model best tailored to be used within Google
	// Cloud, and which cannot be exported. Expected to have a low latency, but may
	// have lower prediction quality than other cloud models.
	//   "CLOUD_1" - A model best tailored to be used within Google Cloud, and
	// which cannot be exported. Compared to the CLOUD_HIGH_ACCURACY_1 and
	// CLOUD_LOW_LATENCY_1 models above, it is expected to have higher prediction
	// quality and lower latency.
	//   "MOBILE_TF_LOW_LATENCY_1" - A model that, in addition to being available
	// within Google Cloud can also be exported (see ModelService.ExportModel) and
	// used on a mobile or edge device with TensorFlow afterwards. Expected to have
	// low latency, but may have lower prediction quality than other mobile models.
	//   "MOBILE_TF_VERSATILE_1" - A model that, in addition to being available
	// within Google Cloud can also be exported (see ModelService.ExportModel) and
	// used on a mobile or edge device with TensorFlow afterwards.
	//   "MOBILE_TF_HIGH_ACCURACY_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) and
	// used on a mobile or edge device with TensorFlow afterwards. Expected to have
	// a higher latency, but should also have a higher prediction quality than
	// other mobile models.
	//   "CLOUD_STREAMING_1" - A model best tailored to be used within Google
	// Cloud, and which cannot be exported. Expected to best support predictions in
	// streaming with lower latency and lower prediction quality than other cloud
	// models.
	//   "SPINENET" - SpineNet for Model Garden training with customizable
	// hyperparameters. Best tailored to be used within Google Cloud, and cannot be
	// exported externally.
	//   "YOLO" - YOLO for Model Garden training with customizable hyperparameters.
	// Best tailored to be used within Google Cloud, and cannot be exported
	// externally.
	ModelType string `json:"modelType,omitempty"`
	// TunableParameter: Trainer type for Vision TrainRequest.
	TunableParameter *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter `json:"tunableParameter,omitempty"`
	// UptrainBaseModelId: The ID of `base` model for upTraining. If it is
	// specified, the new model will be upTrained based on the `base` model for
	// upTraining. Otherwise, the new model will be trained from scratch. The
	// `base` model for upTraining must be in the same Project and Location as the
	// new Model to train, and have the same modelType.
	UptrainBaseModelId string `json:"uptrainBaseModelId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BudgetMilliNodeHours") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BudgetMilliNodeHours") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata struct {
	// CostMilliNodeHours: The actual training cost of creating this model,
	// expressed in milli node hours, i.e. 1,000 value in this field means 1 node
	// hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.
	CostMilliNodeHours int64 `json:"costMilliNodeHours,omitempty,string"`
	// SuccessfulStopReason: For successful job completions, this is the reason why
	// the job has finished.
	//
	// Possible values:
	//   "SUCCESSFUL_STOP_REASON_UNSPECIFIED" - Should not be set.
	//   "BUDGET_REACHED" - The inputs.budgetMilliNodeHours had been reached.
	//   "MODEL_CONVERGED" - Further training of the Model ceased to increase its
	// quality, since it already has converged.
	SuccessfulStopReason string `json:"successfulStopReason,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CostMilliNodeHours") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CostMilliNodeHours") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation: A
// TrainingJob that trains and uploads an AutoML Image Segmentation Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs struct {
	// BaseModelId: The ID of the `base` model. If it is specified, the new model
	// will be trained based on the `base` model. Otherwise, the new model will be
	// trained from scratch. The `base` model must be in the same Project and
	// Location as the new Model to train, and have the same modelType.
	BaseModelId string `json:"baseModelId,omitempty"`
	// BudgetMilliNodeHours: The training budget of creating this model, expressed
	// in milli node hours i.e. 1,000 value in this field means 1 node hour. The
	// actual metadata.costMilliNodeHours will be equal or less than this value. If
	// further model training ceases to provide any improvements, it will stop
	// without using the full budget and the metadata.successfulStopReason will be
	// `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved.
	// Or actual_wall_clock_hours = train_budget_milli_node_hours /
	// (number_of_nodes_involved * 1000) For modelType
	// `cloud-high-accuracy-1`(default), the budget must be between 20,000 and
	// 2,000,000 milli node hours, inclusive. The default value is 192,000 which
	// represents one day in wall time (1000 milli * 24 hours * 8 nodes).
	BudgetMilliNodeHours int64 `json:"budgetMilliNodeHours,omitempty,string"`
	// Possible values:
	//   "MODEL_TYPE_UNSPECIFIED" - Should not be set.
	//   "CLOUD_HIGH_ACCURACY_1" - A model to be used via prediction calls to uCAIP
	// API. Expected to have a higher latency, but should also have a higher
	// prediction quality than other models.
	//   "CLOUD_LOW_ACCURACY_1" - A model to be used via prediction calls to uCAIP
	// API. Expected to have a lower latency but relatively lower prediction
	// quality.
	//   "MOBILE_TF_LOW_LATENCY_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) as
	// TensorFlow model and used on a mobile or edge device afterwards. Expected to
	// have low latency, but may have lower prediction quality than other mobile
	// models.
	ModelType string `json:"modelType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaseModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaseModelId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata struct {
	// CostMilliNodeHours: The actual training cost of creating this model,
	// expressed in milli node hours, i.e. 1,000 value in this field means 1 node
	// hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.
	CostMilliNodeHours int64 `json:"costMilliNodeHours,omitempty,string"`
	// SuccessfulStopReason: For successful job completions, this is the reason why
	// the job has finished.
	//
	// Possible values:
	//   "SUCCESSFUL_STOP_REASON_UNSPECIFIED" - Should not be set.
	//   "BUDGET_REACHED" - The inputs.budgetMilliNodeHours had been reached.
	//   "MODEL_CONVERGED" - Further training of the Model ceased to increase its
	// quality, since it already has converged.
	SuccessfulStopReason string `json:"successfulStopReason,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CostMilliNodeHours") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CostMilliNodeHours") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables: A
// TrainingJob that trains and uploads an AutoML Tables Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs struct {
	// AdditionalExperiments: Additional experiment flags for the Tables training
	// pipeline.
	AdditionalExperiments []string `json:"additionalExperiments,omitempty"`
	// DisableEarlyStopping: Use the entire training budget. This disables the
	// early stopping feature. By default, the early stopping feature is enabled,
	// which means that AutoML Tables might stop training before the entire
	// training budget has been used.
	DisableEarlyStopping bool `json:"disableEarlyStopping,omitempty"`
	// ExportEvaluatedDataItemsConfig: Configuration for exporting test set
	// predictions to a BigQuery table. If this configuration is absent, then the
	// export is not performed.
	ExportEvaluatedDataItemsConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig `json:"exportEvaluatedDataItemsConfig,omitempty"`
	// OptimizationObjective: Objective function the model is optimizing towards.
	// The training process creates a model that maximizes/minimizes the value of
	// the objective function over the validation set. The supported optimization
	// objectives depend on the prediction type. If the field is not set, a default
	// objective function is used. classification (binary): "maximize-au-roc"
	// (default) - Maximize the area under the receiver operating characteristic
	// (ROC) curve. "minimize-log-loss" - Minimize log loss. "maximize-au-prc" -
	// Maximize the area under the precision-recall curve.
	// "maximize-precision-at-recall" - Maximize precision for a specified recall
	// value. "maximize-recall-at-precision" - Maximize recall for a specified
	// precision value. classification (multi-class): "minimize-log-loss" (default)
	// - Minimize log loss. regression: "minimize-rmse" (default) - Minimize
	// root-mean-squared error (RMSE). "minimize-mae" - Minimize mean-absolute
	// error (MAE). "minimize-rmsle" - Minimize root-mean-squared log error
	// (RMSLE).
	OptimizationObjective string `json:"optimizationObjective,omitempty"`
	// OptimizationObjectivePrecisionValue: Required when optimization_objective is
	// "maximize-recall-at-precision". Must be between 0 and 1, inclusive.
	OptimizationObjectivePrecisionValue float64 `json:"optimizationObjectivePrecisionValue,omitempty"`
	// OptimizationObjectiveRecallValue: Required when optimization_objective is
	// "maximize-precision-at-recall". Must be between 0 and 1, inclusive.
	OptimizationObjectiveRecallValue float64 `json:"optimizationObjectiveRecallValue,omitempty"`
	// PredictionType: The type of prediction the Model is to produce.
	// "classification" - Predict one out of multiple target values is picked for
	// each row. "regression" - Predict a value based on its relation to other
	// values. This type is available only to columns that contain semantically
	// numeric values, i.e. integers or floating point number, even if stored as
	// e.g. strings.
	PredictionType string `json:"predictionType,omitempty"`
	// TargetColumn: The column name of the target column that the model is to
	// predict.
	TargetColumn string `json:"targetColumn,omitempty"`
	// TrainBudgetMilliNodeHours: Required. The train budget of creating this
	// model, expressed in milli node hours i.e. 1,000 value in this field means 1
	// node hour. The training cost of the model will not exceed this budget. The
	// final cost will be attempted to be close to the budget, though may end up
	// being (even) noticeably smaller - at the backend's discretion. This
	// especially may happen when further model training ceases to provide any
	// improvements. If the budget is set to a value known to be insufficient to
	// train a model for the given dataset, the training won't be attempted and
	// will error. The train budget must be between 1,000 and 72,000 milli node
	// hours, inclusive.
	TrainBudgetMilliNodeHours int64 `json:"trainBudgetMilliNodeHours,omitempty,string"`
	// Transformations: Each transformation will apply transform function to given
	// input column. And the result will be used for training. When creating
	// transformation for BigQuery Struct column, the column should be flattened
	// using "." as the delimiter.
	Transformations []*GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation `json:"transformations,omitempty"`
	// WeightColumnName: Column name that should be used as the weight column.
	// Higher values in this column give more importance to the row during model
	// training. The column must have numeric values between 0 and 10000
	// inclusively; 0 means the row is ignored for training. If weight column field
	// is not set, then all rows are assumed to have equal weight of 1.
	WeightColumnName string `json:"weightColumnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalExperiments") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalExperiments") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs
	var s1 struct {
		OptimizationObjectivePrecisionValue gensupport.JSONFloat64 `json:"optimizationObjectivePrecisionValue"`
		OptimizationObjectiveRecallValue    gensupport.JSONFloat64 `json:"optimizationObjectiveRecallValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.OptimizationObjectivePrecisionValue = float64(s1.OptimizationObjectivePrecisionValue)
	s.OptimizationObjectiveRecallValue = float64(s1.OptimizationObjectiveRecallValue)
	return nil
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation struct {
	Auto                *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation             `json:"auto,omitempty"`
	Categorical         *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation      `json:"categorical,omitempty"`
	Numeric             *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation          `json:"numeric,omitempty"`
	RepeatedCategorical *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation `json:"repeatedCategorical,omitempty"`
	RepeatedNumeric     *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation     `json:"repeatedNumeric,omitempty"`
	RepeatedText        *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation        `json:"repeatedText,omitempty"`
	Text                *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation             `json:"text,omitempty"`
	Timestamp           *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation        `json:"timestamp,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Auto") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Auto") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationAutoTransformation: Training pipeline will infer the proper
// transformation based on the statistic of dataset.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationCategoricalArrayTransformation: Treats the column as categorical array
// and performs following transformation functions. * For each element in the
// array, convert the category name to a dictionary lookup index and generate
// an embedding for each index. Combine the embedding of all elements into a
// single embedding using the mean. * Empty arrays treated as an embedding of
// zeroes.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationCategoricalTransformation: Training pipeline will perform following
// transformation functions. * The categorical string as is--no change to case,
// punctuation, spelling, tense, and so on. * Convert the category name to a
// dictionary lookup index and generate an embedding for each index. *
// Categories that appear less than 5 times in the training dataset are treated
// as the "unknown" category. The "unknown" category gets its own special
// lookup index and resulting embedding.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationNumericArrayTransformation: Treats the column as numerical array and
// performs following transformation functions. * All transformations for
// Numerical types applied to the average of the all elements. * The average of
// empty arrays is treated as zero.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// InvalidValuesAllowed: If invalid values is allowed, the training pipeline
	// will create a boolean feature that indicated whether the value is valid.
	// Otherwise, the training pipeline will discard the input row from trainining
	// data.
	InvalidValuesAllowed bool `json:"invalidValuesAllowed,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationNumericTransformation: Training pipeline will perform following
// transformation functions. * The value converted to float32. * The z_score of
// the value. * log(value+1) when the value is greater than or equal to 0.
// Otherwise, this transformation is not applied and the value is considered a
// missing value. * z_score of log(value+1) when the value is greater than or
// equal to 0. Otherwise, this transformation is not applied and the value is
// considered a missing value. * A boolean value that indicates whether the
// value is valid.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// InvalidValuesAllowed: If invalid values is allowed, the training pipeline
	// will create a boolean feature that indicated whether the value is valid.
	// Otherwise, the training pipeline will discard the input row from trainining
	// data.
	InvalidValuesAllowed bool `json:"invalidValuesAllowed,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationTextArrayTransformation: Treats the column as text array and performs
// following transformation functions. * Concatenate all text values in the
// array into a single text value using a space (" ") as a delimiter, and then
// treat the result as a single text value. Apply the transformations for Text
// columns. * Empty arrays treated as an empty text.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationTextTransformation: Training pipeline will perform following
// transformation functions. * The text as is--no change to case, punctuation,
// spelling, tense, and so on. * Tokenize text to words. Convert each words to
// a dictionary lookup index and generate an embedding for each index. Combine
// the embedding of all elements into a single embedding using the mean. *
// Tokenization is based on unicode script boundaries. * Missing values get
// their own lookup index and resulting embedding. * Stop-words receive no
// special treatment and are not removed.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransform
// ationTimestampTransformation: Training pipeline will perform following
// transformation functions. * Apply the transformation functions for Numerical
// columns. * Determine the year, month, day,and weekday. Treat each value from
// the * timestamp as a Categorical column. * Invalid numerical values (for
// example, values that fall outside of a typical timestamp range, or are
// extreme values) receive no special treatment and are not removed.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// InvalidValuesAllowed: If invalid values is allowed, the training pipeline
	// will create a boolean feature that indicated whether the value is valid.
	// Otherwise, the training pipeline will discard the input row from trainining
	// data.
	InvalidValuesAllowed bool `json:"invalidValuesAllowed,omitempty"`
	// TimeFormat: The format in which that time field is expressed. The
	// time_format must either be one of: * `unix-seconds` * `unix-milliseconds` *
	// `unix-microseconds` * `unix-nanoseconds` (for respectively number of
	// seconds, milliseconds, microseconds and nanoseconds since start of the Unix
	// epoch); or be written in `strftime` syntax. If time_format is not set, then
	// the default format is RFC 3339 `date-time` format, where `time-offset` =
	// "Z" (e.g. 1985-04-12T23:20:50.52Z)
	TimeFormat string `json:"timeFormat,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata:
// Model metadata specific to AutoML Tables.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata struct {
	// EvaluatedDataItemsBigqueryUri: BigQuery destination uri for exported
	// evaluated examples.
	EvaluatedDataItemsBigqueryUri string `json:"evaluatedDataItemsBigqueryUri,omitempty"`
	// TrainCostMilliNodeHours: Output only. The actual training cost of the model,
	// expressed in milli node hours, i.e. 1,000 value in this field means 1 node
	// hour. Guaranteed to not exceed the train budget.
	TrainCostMilliNodeHours int64 `json:"trainCostMilliNodeHours,omitempty,string"`
	// ForceSendFields is a list of field names (e.g.
	// "EvaluatedDataItemsBigqueryUri") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluatedDataItemsBigqueryUri")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification:
// A TrainingJob that trains and uploads an AutoML Text Classification Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs struct {
	MultiLabel bool `json:"multiLabel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MultiLabel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MultiLabel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction: A
// TrainingJob that trains and uploads an AutoML Text Extraction Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs struct {
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment: A
// TrainingJob that trains and uploads an AutoML Text Sentiment Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs struct {
	// SentimentMax: A sentiment is expressed as an integer ordinal, where higher
	// value means a more positive sentiment. The range of sentiments that will be
	// used is between 0 and sentimentMax (inclusive on both ends), and all the
	// values in the range must be represented in the dataset before a model can be
	// created. Only the Annotations with this sentimentMax will be used for
	// training. sentimentMax value must be between 1 and 10 (inclusive).
	SentimentMax int64 `json:"sentimentMax,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SentimentMax") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SentimentMax") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitio
// n: A TrainingJob that trains and uploads an AutoML Video Action Recognition
// Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs struct {
	// Possible values:
	//   "MODEL_TYPE_UNSPECIFIED" - Should not be set.
	//   "CLOUD" - A model best tailored to be used within Google Cloud, and which
	// c annot be exported. Default.
	//   "MOBILE_VERSATILE_1" - A model that, in addition to being available within
	// Google Cloud, can also be exported (see ModelService.ExportModel) as a
	// TensorFlow or TensorFlow Lite model and used on a mobile or edge device
	// afterwards.
	//   "MOBILE_JETSON_VERSATILE_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) to
	// a Jetson device afterwards.
	//   "MOBILE_CORAL_VERSATILE_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) as
	// a TensorFlow or TensorFlow Lite model and used on a Coral device afterwards.
	ModelType string `json:"modelType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification:
// A TrainingJob that trains and uploads an AutoML Video Classification Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs struct {
	// Possible values:
	//   "MODEL_TYPE_UNSPECIFIED" - Should not be set.
	//   "CLOUD" - A model best tailored to be used within Google Cloud, and which
	// cannot be exported. Default.
	//   "MOBILE_VERSATILE_1" - A model that, in addition to being available within
	// Google Cloud, can also be exported (see ModelService.ExportModel) as a
	// TensorFlow or TensorFlow Lite model and used on a mobile or edge device
	// afterwards.
	//   "MOBILE_JETSON_VERSATILE_1" - A model that, in addition to being available
	// within Google Cloud, can also be exported (see ModelService.ExportModel) to
	// a Jetson device afterwards.
	ModelType string `json:"modelType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking:
// A TrainingJob that trains and uploads an AutoML Video ObjectTracking Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs `json:"inputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs struct {
	// Possible values:
	//   "MODEL_TYPE_UNSPECIFIED" - Should not be set.
	//   "CLOUD" - A model best tailored to be used within Google Cloud, and which
	// c annot be exported. Default.
	//   "MOBILE_VERSATILE_1" - A model that, in addition to being available within
	// Google Cloud, can also be exported (see ModelService.ExportModel) as a
	// TensorFlow or TensorFlow Lite model and used on a mobile or edge device
	// afterwards.
	//   "MOBILE_CORAL_VERSATILE_1" - A versatile model that is meant to be
	// exported (see ModelService.ExportModel) and used on a Google Coral device.
	//   "MOBILE_CORAL_LOW_LATENCY_1" - A model that trades off quality for low
	// latency, to be exported (see ModelService.ExportModel) and used on a Google
	// Coral device.
	//   "MOBILE_JETSON_VERSATILE_1" - A versatile model that is meant to be
	// exported (see ModelService.ExportModel) and used on an NVIDIA Jetson device.
	//   "MOBILE_JETSON_LOW_LATENCY_1" - A model that trades off quality for low
	// latency, to be exported (see ModelService.ExportModel) and used on an NVIDIA
	// Jetson device.
	ModelType string `json:"modelType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableP
// arameter: A wrapper class which contains the tunable parameters in an AutoML
// Image training job.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter struct {
	// CheckpointName: Optional. An unique name of pretrained model checkpoint
	// provided in model garden, it will be mapped to a GCS location internally.
	CheckpointName string `json:"checkpointName,omitempty"`
	// DatasetConfig: Customizable dataset settings, used in the
	// `model_garden_trainer`.
	DatasetConfig map[string]string `json:"datasetConfig,omitempty"`
	// StudySpec: Optioinal. StudySpec of hyperparameter tuning job. Required for
	// `model_garden_trainer`.
	StudySpec *GoogleCloudAiplatformV1StudySpec `json:"studySpec,omitempty"`
	// TrainerConfig: Customizable trainer settings, used in the
	// `model_garden_trainer`.
	TrainerConfig map[string]string `json:"trainerConfig,omitempty"`
	// Possible values:
	//   "TRAINER_TYPE_UNSPECIFIED" - Default value.
	//   "AUTOML_TRAINER"
	//   "MODEL_GARDEN_TRAINER"
	TrainerType string `json:"trainerType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CheckpointName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CheckpointName") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata struct {
	// BackingCustomJob: The resource name of the CustomJob that has been created
	// to carry out this custom task.
	BackingCustomJob string `json:"backingCustomJob,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BackingCustomJob") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BackingCustomJob") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask: A TrainingJob
// that trains a custom code Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask struct {
	// Inputs: The input parameters of this CustomTask.
	Inputs *GoogleCloudAiplatformV1CustomJobSpec `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsCon
// fig: Configuration for exporting test set predictions to a BigQuery table.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig struct {
	// DestinationBigqueryUri: URI of desired destination BigQuery table. Expected
	// format: `bq://{project_id}:{dataset_id}:{table}` If not specified, then
	// results are exported to the following auto-created BigQuery table:
	// `{project_id}:export_evaluated_examples_{model_name}_{yyyy_MM_dd'T'HH_mm_ss_S
	// SS'Z'}.evaluated_examples`
	DestinationBigqueryUri string `json:"destinationBigqueryUri,omitempty"`
	// OverrideExistingTable: If true and an export destination is specified, then
	// the contents of the destination are overwritten. Otherwise, if the export
	// destination already exists, then the export operation fails.
	OverrideExistingTable bool `json:"overrideExistingTable,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DestinationBigqueryUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DestinationBigqueryUri") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig:
// Configuration that defines the hierarchical relationship of time series and
// parameters for hierarchical forecasting strategies.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig struct {
	// GroupColumns: A list of time series attribute column names that define the
	// time series hierarchy. Only one level of hierarchy is supported, ex.
	// 'region' for a hierarchy of stores or 'department' for a hierarchy of
	// products. If multiple columns are specified, time series will be grouped by
	// their combined values, ex. ('blue', 'large') for 'color' and 'size', up to 5
	// columns are accepted. If no group columns are specified, all time series are
	// considered to be part of the same group.
	GroupColumns []string `json:"groupColumns,omitempty"`
	// GroupTemporalTotalWeight: The weight of the loss for predictions aggregated
	// over both the horizon and time series in the same hierarchy group.
	GroupTemporalTotalWeight float64 `json:"groupTemporalTotalWeight,omitempty"`
	// GroupTotalWeight: The weight of the loss for predictions aggregated over
	// time series in the same group.
	GroupTotalWeight float64 `json:"groupTotalWeight,omitempty"`
	// TemporalTotalWeight: The weight of the loss for predictions aggregated over
	// the horizon for a single time series.
	TemporalTotalWeight float64 `json:"temporalTotalWeight,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GroupColumns") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GroupColumns") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig
	var s1 struct {
		GroupTemporalTotalWeight gensupport.JSONFloat64 `json:"groupTemporalTotalWeight"`
		GroupTotalWeight         gensupport.JSONFloat64 `json:"groupTotalWeight"`
		TemporalTotalWeight      gensupport.JSONFloat64 `json:"temporalTotalWeight"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.GroupTemporalTotalWeight = float64(s1.GroupTemporalTotalWeight)
	s.GroupTotalWeight = float64(s1.GroupTotalWeight)
	s.TemporalTotalWeight = float64(s1.TemporalTotalWeight)
	return nil
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata struct {
	// BackingHyperparameterTuningJob: The resource name of the
	// HyperparameterTuningJob that has been created to carry out this
	// HyperparameterTuning task.
	BackingHyperparameterTuningJob string `json:"backingHyperparameterTuningJob,omitempty"`
	// BestTrialBackingCustomJob: The resource name of the CustomJob that has been
	// created to run the best Trial of this HyperparameterTuning task.
	BestTrialBackingCustomJob string `json:"bestTrialBackingCustomJob,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "BackingHyperparameterTuningJob") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BackingHyperparameterTuningJob")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec struct {
	// MaxFailedTrialCount: 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 int64 `json:"maxFailedTrialCount,omitempty"`
	// MaxTrialCount: The desired total number of Trials.
	MaxTrialCount int64 `json:"maxTrialCount,omitempty"`
	// ParallelTrialCount: The desired number of Trials to run in parallel.
	ParallelTrialCount int64 `json:"parallelTrialCount,omitempty"`
	// StudySpec: Study configuration of the HyperparameterTuningJob.
	StudySpec *GoogleCloudAiplatformV1StudySpec `json:"studySpec,omitempty"`
	// TrialJobSpec: The spec of a trial job. The same spec applies to the
	// CustomJobs created in all the trials.
	TrialJobSpec *GoogleCloudAiplatformV1CustomJobSpec `json:"trialJobSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxFailedTrialCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxFailedTrialCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask:
// A TrainingJob that tunes Hypererparameters of a custom code Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask struct {
	// Inputs: The input parameters of this HyperparameterTuningTask.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting: A
// TrainingJob that trains and uploads an AutoML Forecasting Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs struct {
	// AdditionalExperiments: Additional experiment flags for the time series
	// forcasting training.
	AdditionalExperiments []string `json:"additionalExperiments,omitempty"`
	// AvailableAtForecastColumns: Names of columns that are available and provided
	// when a forecast is requested. These columns contain information for the
	// given entity (identified by the time_series_identifier_column column) that
	// is known at forecast. For example, predicted weather for a specific day.
	AvailableAtForecastColumns []string `json:"availableAtForecastColumns,omitempty"`
	// ContextWindow: The amount of time into the past training and prediction data
	// is used for model training and prediction respectively. Expressed in number
	// of units defined by the `data_granularity` field.
	ContextWindow int64 `json:"contextWindow,omitempty,string"`
	// DataGranularity: Expected difference in time granularity between rows in the
	// data.
	DataGranularity *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity `json:"dataGranularity,omitempty"`
	// ExportEvaluatedDataItemsConfig: Configuration for exporting test set
	// predictions to a BigQuery table. If this configuration is absent, then the
	// export is not performed.
	ExportEvaluatedDataItemsConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig `json:"exportEvaluatedDataItemsConfig,omitempty"`
	// ForecastHorizon: The amount of time into the future for which forecasted
	// values for the target are returned. Expressed in number of units defined by
	// the `data_granularity` field.
	ForecastHorizon int64 `json:"forecastHorizon,omitempty,string"`
	// HierarchyConfig: Configuration that defines the hierarchical relationship of
	// time series and parameters for hierarchical forecasting strategies.
	HierarchyConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig `json:"hierarchyConfig,omitempty"`
	// HolidayRegions: The geographical region based on which the holiday effect is
	// applied in modeling by adding holiday categorical array feature that include
	// all holidays matching the date. This option only allowed when
	// data_granularity is day. By default, holiday effect modeling is disabled. To
	// turn it on, specify the holiday region using this option.
	HolidayRegions []string `json:"holidayRegions,omitempty"`
	// OptimizationObjective: Objective function the model is optimizing towards.
	// The training process creates a model that optimizes the value of the
	// objective function over the validation set. The supported optimization
	// objectives: * "minimize-rmse" (default) - Minimize root-mean-squared error
	// (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). *
	// "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). *
	// "minimize-rmspe" - Minimize root-mean-squared percentage error (RMSPE). *
	// "minimize-wape-mae" - Minimize the combination of weighted absolute
	// percentage error (WAPE) and mean-absolute-error (MAE). *
	// "minimize-quantile-loss" - Minimize the quantile loss at the quantiles
	// defined in `quantiles`. * "minimize-mape" - Minimize the mean absolute
	// percentage error.
	OptimizationObjective string `json:"optimizationObjective,omitempty"`
	// Quantiles: Quantiles to use for minimize-quantile-loss
	// `optimization_objective`. Up to 5 quantiles are allowed of values between 0
	// and 1, exclusive. Required if the value of optimization_objective is
	// minimize-quantile-loss. Represents the percent quantiles to use for that
	// objective. Quantiles must be unique.
	Quantiles []float64 `json:"quantiles,omitempty"`
	// TargetColumn: The name of the column that the Model is to predict values
	// for. This column must be unavailable at forecast.
	TargetColumn string `json:"targetColumn,omitempty"`
	// TimeColumn: The name of the column that identifies time order in the time
	// series. This column must be available at forecast.
	TimeColumn string `json:"timeColumn,omitempty"`
	// TimeSeriesAttributeColumns: Column names that should be used as attribute
	// columns. The value of these columns does not vary as a function of time. For
	// example, store ID or item color.
	TimeSeriesAttributeColumns []string `json:"timeSeriesAttributeColumns,omitempty"`
	// TimeSeriesIdentifierColumn: The name of the column that identifies the time
	// series.
	TimeSeriesIdentifierColumn string `json:"timeSeriesIdentifierColumn,omitempty"`
	// TrainBudgetMilliNodeHours: Required. The train budget of creating this
	// model, expressed in milli node hours i.e. 1,000 value in this field means 1
	// node hour. The training cost of the model will not exceed this budget. The
	// final cost will be attempted to be close to the budget, though may end up
	// being (even) noticeably smaller - at the backend's discretion. This
	// especially may happen when further model training ceases to provide any
	// improvements. If the budget is set to a value known to be insufficient to
	// train a model for the given dataset, the training won't be attempted and
	// will error. The train budget must be between 1,000 and 72,000 milli node
	// hours, inclusive.
	TrainBudgetMilliNodeHours int64 `json:"trainBudgetMilliNodeHours,omitempty,string"`
	// Transformations: Each transformation will apply transform function to given
	// input column. And the result will be used for training. When creating
	// transformation for BigQuery Struct column, the column should be flattened
	// using "." as the delimiter.
	Transformations []*GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation `json:"transformations,omitempty"`
	// UnavailableAtForecastColumns: Names of columns that are unavailable when a
	// forecast is requested. This column contains information for the given entity
	// (identified by the time_series_identifier_column) that is unknown before the
	// forecast For example, actual weather on a given day.
	UnavailableAtForecastColumns []string `json:"unavailableAtForecastColumns,omitempty"`
	// ValidationOptions: Validation options for the data validation component. The
	// available options are: * "fail-pipeline" - default, will validate against
	// the validation and fail the pipeline if it fails. * "ignore-validation" -
	// ignore the results of the validation and continue
	ValidationOptions string `json:"validationOptions,omitempty"`
	// WeightColumn: Column name that should be used as the weight column. Higher
	// values in this column give more importance to the row during model training.
	// The column must have numeric values between 0 and 10000 inclusively; 0 means
	// the row is ignored for training. If weight column field is not set, then all
	// rows are assumed to have equal weight of 1. This column must be available at
	// forecast.
	WeightColumn string `json:"weightColumn,omitempty"`
	// WindowConfig: Config containing strategy for generating sliding windows.
	WindowConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig `json:"windowConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalExperiments") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalExperiments") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs
	var s1 struct {
		Quantiles []gensupport.JSONFloat64 `json:"quantiles"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Quantiles = make([]float64, len(s1.Quantiles))
	for i := range s1.Quantiles {
		s.Quantiles[i] = float64(s1.Quantiles[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInput
// sGranularity: A duration of time expressed in time granularity units.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity struct {
	// Quantity: The number of granularity_units between data points in the
	// training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or
	// 30. For all other values of `granularity_unit`, must be 1.
	Quantity int64 `json:"quantity,omitempty,string"`
	// Unit: The time granularity unit of this time period. The supported units
	// are: * "minute" * "hour" * "day" * "week" * "month" * "year"
	Unit string `json:"unit,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Quantity") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Quantity") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation struct {
	Auto        *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation        `json:"auto,omitempty"`
	Categorical *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation `json:"categorical,omitempty"`
	Numeric     *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation     `json:"numeric,omitempty"`
	Text        *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation        `json:"text,omitempty"`
	Timestamp   *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation   `json:"timestamp,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Auto") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Auto") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInput
// sTransformationAutoTransformation: Training pipeline will infer the proper
// transformation based on the statistic of dataset.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInput
// sTransformationCategoricalTransformation: Training pipeline will perform
// following transformation functions. * The categorical string as is--no
// change to case, punctuation, spelling, tense, and so on. * Convert the
// category name to a dictionary lookup index and generate an embedding for
// each index. * Categories that appear less than 5 times in the training
// dataset are treated as the "unknown" category. The "unknown" category gets
// its own special lookup index and resulting embedding.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInput
// sTransformationNumericTransformation: Training pipeline will perform
// following transformation functions. * The value converted to float32. * The
// z_score of the value. * log(value+1) when the value is greater than or equal
// to 0. Otherwise, this transformation is not applied and the value is
// considered a missing value. * z_score of log(value+1) when the value is
// greater than or equal to 0. Otherwise, this transformation is not applied
// and the value is considered a missing value.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInput
// sTransformationTextTransformation: Training pipeline will perform following
// transformation functions. * The text as is--no change to case, punctuation,
// spelling, tense, and so on. * Convert the category name to a dictionary
// lookup index and generate an embedding for each index.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInput
// sTransformationTimestampTransformation: Training pipeline will perform
// following transformation functions. * Apply the transformation functions for
// Numerical columns. * Determine the year, month, day,and weekday. Treat each
// value from the timestamp as a Categorical column. * Invalid numerical values
// (for example, values that fall outside of a typical timestamp range, or are
// extreme values) receive no special treatment and are not removed.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// TimeFormat: The format in which that time field is expressed. The
	// time_format must either be one of: * `unix-seconds` * `unix-milliseconds` *
	// `unix-microseconds` * `unix-nanoseconds` (for respectively number of
	// seconds, milliseconds, microseconds and nanoseconds since start of the Unix
	// epoch); or be written in `strftime` syntax. If time_format is not set, then
	// the default format is RFC 3339 `date-time` format, where `time-offset` =
	// "Z" (e.g. 1985-04-12T23:20:50.52Z)
	TimeFormat string `json:"timeFormat,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetad
// ata: Model metadata specific to Seq2Seq Plus Forecasting.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata struct {
	// EvaluatedDataItemsBigqueryUri: BigQuery destination uri for exported
	// evaluated examples.
	EvaluatedDataItemsBigqueryUri string `json:"evaluatedDataItemsBigqueryUri,omitempty"`
	// TrainCostMilliNodeHours: Output only. The actual training cost of the model,
	// expressed in milli node hours, i.e. 1,000 value in this field means 1 node
	// hour. Guaranteed to not exceed the train budget.
	TrainCostMilliNodeHours int64 `json:"trainCostMilliNodeHours,omitempty,string"`
	// ForceSendFields is a list of field names (e.g.
	// "EvaluatedDataItemsBigqueryUri") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluatedDataItemsBigqueryUri")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting: A
// TrainingJob that trains and uploads an AutoML Forecasting Model.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting struct {
	// Inputs: The input parameters of this TrainingJob.
	Inputs *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs `json:"inputs,omitempty"`
	// Metadata: The metadata information.
	Metadata *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata `json:"metadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs struct {
	// AdditionalExperiments: Additional experiment flags for the time series
	// forcasting training.
	AdditionalExperiments []string `json:"additionalExperiments,omitempty"`
	// AvailableAtForecastColumns: Names of columns that are available and provided
	// when a forecast is requested. These columns contain information for the
	// given entity (identified by the time_series_identifier_column column) that
	// is known at forecast. For example, predicted weather for a specific day.
	AvailableAtForecastColumns []string `json:"availableAtForecastColumns,omitempty"`
	// ContextWindow: The amount of time into the past training and prediction data
	// is used for model training and prediction respectively. Expressed in number
	// of units defined by the `data_granularity` field.
	ContextWindow int64 `json:"contextWindow,omitempty,string"`
	// DataGranularity: Expected difference in time granularity between rows in the
	// data.
	DataGranularity *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity `json:"dataGranularity,omitempty"`
	// ExportEvaluatedDataItemsConfig: Configuration for exporting test set
	// predictions to a BigQuery table. If this configuration is absent, then the
	// export is not performed.
	ExportEvaluatedDataItemsConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig `json:"exportEvaluatedDataItemsConfig,omitempty"`
	// ForecastHorizon: The amount of time into the future for which forecasted
	// values for the target are returned. Expressed in number of units defined by
	// the `data_granularity` field.
	ForecastHorizon int64 `json:"forecastHorizon,omitempty,string"`
	// HierarchyConfig: Configuration that defines the hierarchical relationship of
	// time series and parameters for hierarchical forecasting strategies.
	HierarchyConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig `json:"hierarchyConfig,omitempty"`
	// HolidayRegions: The geographical region based on which the holiday effect is
	// applied in modeling by adding holiday categorical array feature that include
	// all holidays matching the date. This option only allowed when
	// data_granularity is day. By default, holiday effect modeling is disabled. To
	// turn it on, specify the holiday region using this option.
	HolidayRegions []string `json:"holidayRegions,omitempty"`
	// OptimizationObjective: Objective function the model is optimizing towards.
	// The training process creates a model that optimizes the value of the
	// objective function over the validation set. The supported optimization
	// objectives: * "minimize-rmse" (default) - Minimize root-mean-squared error
	// (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). *
	// "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). *
	// "minimize-rmspe" - Minimize root-mean-squared percentage error (RMSPE). *
	// "minimize-wape-mae" - Minimize the combination of weighted absolute
	// percentage error (WAPE) and mean-absolute-error (MAE). *
	// "minimize-quantile-loss" - Minimize the quantile loss at the quantiles
	// defined in `quantiles`. * "minimize-mape" - Minimize the mean absolute
	// percentage error.
	OptimizationObjective string `json:"optimizationObjective,omitempty"`
	// Quantiles: Quantiles to use for minimize-quantile-loss
	// `optimization_objective`. Up to 5 quantiles are allowed of values between 0
	// and 1, exclusive. Required if the value of optimization_objective is
	// minimize-quantile-loss. Represents the percent quantiles to use for that
	// objective. Quantiles must be unique.
	Quantiles []float64 `json:"quantiles,omitempty"`
	// TargetColumn: The name of the column that the Model is to predict values
	// for. This column must be unavailable at forecast.
	TargetColumn string `json:"targetColumn,omitempty"`
	// TimeColumn: The name of the column that identifies time order in the time
	// series. This column must be available at forecast.
	TimeColumn string `json:"timeColumn,omitempty"`
	// TimeSeriesAttributeColumns: Column names that should be used as attribute
	// columns. The value of these columns does not vary as a function of time. For
	// example, store ID or item color.
	TimeSeriesAttributeColumns []string `json:"timeSeriesAttributeColumns,omitempty"`
	// TimeSeriesIdentifierColumn: The name of the column that identifies the time
	// series.
	TimeSeriesIdentifierColumn string `json:"timeSeriesIdentifierColumn,omitempty"`
	// TrainBudgetMilliNodeHours: Required. The train budget of creating this
	// model, expressed in milli node hours i.e. 1,000 value in this field means 1
	// node hour. The training cost of the model will not exceed this budget. The
	// final cost will be attempted to be close to the budget, though may end up
	// being (even) noticeably smaller - at the backend's discretion. This
	// especially may happen when further model training ceases to provide any
	// improvements. If the budget is set to a value known to be insufficient to
	// train a model for the given dataset, the training won't be attempted and
	// will error. The train budget must be between 1,000 and 72,000 milli node
	// hours, inclusive.
	TrainBudgetMilliNodeHours int64 `json:"trainBudgetMilliNodeHours,omitempty,string"`
	// Transformations: Each transformation will apply transform function to given
	// input column. And the result will be used for training. When creating
	// transformation for BigQuery Struct column, the column should be flattened
	// using "." as the delimiter.
	Transformations []*GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation `json:"transformations,omitempty"`
	// UnavailableAtForecastColumns: Names of columns that are unavailable when a
	// forecast is requested. This column contains information for the given entity
	// (identified by the time_series_identifier_column) that is unknown before the
	// forecast For example, actual weather on a given day.
	UnavailableAtForecastColumns []string `json:"unavailableAtForecastColumns,omitempty"`
	// ValidationOptions: Validation options for the data validation component. The
	// available options are: * "fail-pipeline" - default, will validate against
	// the validation and fail the pipeline if it fails. * "ignore-validation" -
	// ignore the results of the validation and continue
	ValidationOptions string `json:"validationOptions,omitempty"`
	// WeightColumn: Column name that should be used as the weight column. Higher
	// values in this column give more importance to the row during model training.
	// The column must have numeric values between 0 and 10000 inclusively; 0 means
	// the row is ignored for training. If weight column field is not set, then all
	// rows are assumed to have equal weight of 1. This column must be available at
	// forecast.
	WeightColumn string `json:"weightColumn,omitempty"`
	// WindowConfig: Config containing strategy for generating sliding windows.
	WindowConfig *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig `json:"windowConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalExperiments") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalExperiments") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
	var s1 struct {
		Quantiles []gensupport.JSONFloat64 `json:"quantiles"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Quantiles = make([]float64, len(s1.Quantiles))
	for i := range s1.Quantiles {
		s.Quantiles[i] = float64(s1.Quantiles[i])
	}
	return nil
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranula
// rity: A duration of time expressed in time granularity units.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity struct {
	// Quantity: The number of granularity_units between data points in the
	// training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or
	// 30. For all other values of `granularity_unit`, must be 1.
	Quantity int64 `json:"quantity,omitempty,string"`
	// Unit: The time granularity unit of this time period. The supported units
	// are: * "minute" * "hour" * "day" * "week" * "month" * "year"
	Unit string `json:"unit,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Quantity") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Quantity") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation struct {
	Auto        *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation        `json:"auto,omitempty"`
	Categorical *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation `json:"categorical,omitempty"`
	Numeric     *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation     `json:"numeric,omitempty"`
	Text        *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation        `json:"text,omitempty"`
	Timestamp   *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation   `json:"timestamp,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Auto") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Auto") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransfo
// rmationAutoTransformation: Training pipeline will infer the proper
// transformation based on the statistic of dataset.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransfo
// rmationCategoricalTransformation: Training pipeline will perform following
// transformation functions. * The categorical string as is--no change to case,
// punctuation, spelling, tense, and so on. * Convert the category name to a
// dictionary lookup index and generate an embedding for each index. *
// Categories that appear less than 5 times in the training dataset are treated
// as the "unknown" category. The "unknown" category gets its own special
// lookup index and resulting embedding.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransfo
// rmationNumericTransformation: Training pipeline will perform following
// transformation functions. * The value converted to float32. * The z_score of
// the value. * log(value+1) when the value is greater than or equal to 0.
// Otherwise, this transformation is not applied and the value is considered a
// missing value. * z_score of log(value+1) when the value is greater than or
// equal to 0. Otherwise, this transformation is not applied and the value is
// considered a missing value.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransfo
// rmationTextTransformation: Training pipeline will perform following
// transformation functions. * The text as is--no change to case, punctuation,
// spelling, tense, and so on. * Convert the category name to a dictionary
// lookup index and generate an embedding for each index.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransfo
// rmationTimestampTransformation: Training pipeline will perform following
// transformation functions. * Apply the transformation functions for Numerical
// columns. * Determine the year, month, day,and weekday. Treat each value from
// the timestamp as a Categorical column. * Invalid numerical values (for
// example, values that fall outside of a typical timestamp range, or are
// extreme values) receive no special treatment and are not removed.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation struct {
	ColumnName string `json:"columnName,omitempty"`
	// TimeFormat: The format in which that time field is expressed. The
	// time_format must either be one of: * `unix-seconds` * `unix-milliseconds` *
	// `unix-microseconds` * `unix-nanoseconds` (for respectively number of
	// seconds, milliseconds, microseconds and nanoseconds since start of the Unix
	// epoch); or be written in `strftime` syntax. If time_format is not set, then
	// the default format is RFC 3339 `date-time` format, where `time-offset` =
	// "Z" (e.g. 1985-04-12T23:20:50.52Z)
	TimeFormat string `json:"timeFormat,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ColumnName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ColumnName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata:
// Model metadata specific to TFT Forecasting.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata struct {
	// EvaluatedDataItemsBigqueryUri: BigQuery destination uri for exported
	// evaluated examples.
	EvaluatedDataItemsBigqueryUri string `json:"evaluatedDataItemsBigqueryUri,omitempty"`
	// TrainCostMilliNodeHours: Output only. The actual training cost of the model,
	// expressed in milli node hours, i.e. 1,000 value in this field means 1 node
	// hour. Guaranteed to not exceed the train budget.
	TrainCostMilliNodeHours int64 `json:"trainCostMilliNodeHours,omitempty,string"`
	// ForceSendFields is a list of field names (e.g.
	// "EvaluatedDataItemsBigqueryUri") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluatedDataItemsBigqueryUri")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig: Config that
// contains the strategy used to generate sliding windows in time series
// training. A window is a series of rows that comprise the context up to the
// time of prediction, and the horizon following. The corresponding row for
// each window marks the start of the forecast horizon. Each window is used as
// an input example for training/evaluation.
type GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig struct {
	// Column: Name of the column that should be used to generate sliding windows.
	// The column should contain either booleans or string booleans; if the value
	// of the row is True, generate a sliding window with the horizon starting at
	// that row. The column will not be used as a feature in training.
	Column string `json:"column,omitempty"`
	// MaxCount: Maximum number of windows that should be generated across all time
	// series.
	MaxCount int64 `json:"maxCount,omitempty,string"`
	// StrideLength: Stride length used to generate input examples. Within one time
	// series, every {$STRIDE_LENGTH} rows will be used to generate a sliding
	// window.
	StrideLength int64 `json:"strideLength,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Column") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Column") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaVertex: Represents a 2D point in the image.
// Vertex coordinates are normalized to be relative to the original image
// dimensions and range from 0 to 1. The origin of the coordinate system (0,0)
// is the top-left corner of the image. x increases to the right, and y
// increases to the bottom.
type GoogleCloudAiplatformV1SchemaVertex struct {
	// X: X coordinate of the vertex, normalized to [0.0, 1.0].
	X float64 `json:"x,omitempty"`
	// Y: Y coordinate of the vertex, normalized to [0.0, 1.0].
	Y float64 `json:"y,omitempty"`
	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "X") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaVertex) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVertex
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaVertex) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaVertex
	var s1 struct {
		X gensupport.JSONFloat64 `json:"x"`
		Y gensupport.JSONFloat64 `json:"y"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.X = float64(s1.X)
	s.Y = float64(s1.Y)
	return nil
}

// GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation: Annotation
// details specific to video action recognition.
type GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// TimeSegment: This Annotation applies to the time period represented by the
	// TimeSegment. If it's not set, the Annotation applies to the whole video.
	TimeSegment *GoogleCloudAiplatformV1SchemaTimeSegment `json:"timeSegment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation: Annotation
// details specific to video classification.
type GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// TimeSegment: This Annotation applies to the time period represented by the
	// TimeSegment. If it's not set, the Annotation applies to the whole video.
	TimeSegment *GoogleCloudAiplatformV1SchemaTimeSegment `json:"timeSegment,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaVideoDataItem: Payload of Video DataItem.
type GoogleCloudAiplatformV1SchemaVideoDataItem struct {
	// GcsUri: Required. Google Cloud Storage URI points to the original video in
	// user's bucket. The video is up to 50 GB in size and up to 3 hour in
	// duration.
	GcsUri string `json:"gcsUri,omitempty"`
	// MimeType: Output only. The mime type of the content of the video. Only the
	// videos in below listed mime types are supported. Supported mime_type: -
	// video/mp4 - video/avi - video/quicktime
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsUri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaVideoDataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoDataItem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaVideoDatasetMetadata: The metadata of Datasets
// that contain Video DataItems.
type GoogleCloudAiplatformV1SchemaVideoDatasetMetadata struct {
	// DataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
	// describing payload of the Video DataItems that belong to this Dataset.
	DataItemSchemaUri string `json:"dataItemSchemaUri,omitempty"`
	// GcsBucket: Google Cloud Storage Bucket name that contains the blob data of
	// this Dataset.
	GcsBucket string `json:"gcsBucket,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataItemSchemaUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataItemSchemaUri") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaVideoDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoDatasetMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation: Annotation
// details specific to video object tracking.
type GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation struct {
	// AnnotationSpecId: The resource Id of the AnnotationSpec that this Annotation
	// pertains to.
	AnnotationSpecId string `json:"annotationSpecId,omitempty"`
	// DisplayName: The display name of the AnnotationSpec that this Annotation
	// pertains to.
	DisplayName string `json:"displayName,omitempty"`
	// InstanceId: The instance of the object, expressed as a positive integer.
	// Used to track the same object across different frames.
	InstanceId int64 `json:"instanceId,omitempty,string"`
	// TimeOffset: A time (frame) of a video to which this annotation pertains.
	// Represented as the duration since the video's start.
	TimeOffset string `json:"timeOffset,omitempty"`
	// XMax: The rightmost coordinate of the bounding box.
	XMax float64 `json:"xMax,omitempty"`
	// XMin: The leftmost coordinate of the bounding box.
	XMin float64 `json:"xMin,omitempty"`
	// YMax: The bottommost coordinate of the bounding box.
	YMax float64 `json:"yMax,omitempty"`
	// YMin: The topmost coordinate of the bounding box.
	YMin float64 `json:"yMin,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AnnotationSpecId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AnnotationSpecId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation
	var s1 struct {
		XMax gensupport.JSONFloat64 `json:"xMax"`
		XMin gensupport.JSONFloat64 `json:"xMin"`
		YMax gensupport.JSONFloat64 `json:"yMax"`
		YMin gensupport.JSONFloat64 `json:"yMin"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.XMax = float64(s1.XMax)
	s.XMin = float64(s1.XMin)
	s.YMax = float64(s1.YMax)
	s.YMin = float64(s1.YMin)
	return nil
}

type GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata struct {
	// MultiLabel: Whether or not the classification label is multi_label.
	MultiLabel bool `json:"multiLabel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MultiLabel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MultiLabel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata struct {
}

// GoogleCloudAiplatformV1SearchDataItemsResponse: Response message for
// DatasetService.SearchDataItems.
type GoogleCloudAiplatformV1SearchDataItemsResponse struct {
	// DataItemViews: The DataItemViews read.
	DataItemViews []*GoogleCloudAiplatformV1DataItemView `json:"dataItemViews,omitempty"`
	// NextPageToken: A token to retrieve next page of results. Pass to
	// SearchDataItemsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DataItemViews") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataItemViews") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchDataItemsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchDataItemsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchEntryPoint: An entry point for displaying
// Google Search results. A `SearchEntryPoint` is populated when the grounding
// source for a model's response is Google Search. It provides information that
// you can use to display the search results in your application.
type GoogleCloudAiplatformV1SearchEntryPoint struct {
	// RenderedContent: Optional. An HTML snippet that can be embedded in a web
	// page or an application's webview. This snippet displays a search result,
	// including the title, URL, and a brief description of the search result.
	RenderedContent string `json:"renderedContent,omitempty"`
	// SdkBlob: Optional. A base64-encoded JSON object that contains a list of
	// search queries and their corresponding search URLs. This information can be
	// used to build a custom search UI.
	SdkBlob string `json:"sdkBlob,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RenderedContent") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RenderedContent") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchEntryPoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchEntryPoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchFeaturesResponse: Response message for
// FeaturestoreService.SearchFeatures.
type GoogleCloudAiplatformV1SearchFeaturesResponse struct {
	// Features: The Features matching the request. Fields returned: * `name` *
	// `description` * `labels` * `create_time` * `update_time`
	Features []*GoogleCloudAiplatformV1Feature `json:"features,omitempty"`
	// NextPageToken: A token, which can be sent as
	// SearchFeaturesRequest.page_token to retrieve the next page. If this field is
	// omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Features") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Features") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchFeaturesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchFeaturesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchMigratableResourcesRequest: Request message for
// MigrationService.SearchMigratableResources.
type GoogleCloudAiplatformV1SearchMigratableResourcesRequest struct {
	// Filter: 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: * `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 `json:"filter,omitempty"`
	// PageSize: The standard page size. The default and maximum value is 100.
	PageSize int64 `json:"pageSize,omitempty"`
	// PageToken: The standard page token.
	PageToken string `json:"pageToken,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Filter") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchMigratableResourcesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchMigratableResourcesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchMigratableResourcesResponse: Response message
// for MigrationService.SearchMigratableResources.
type GoogleCloudAiplatformV1SearchMigratableResourcesResponse struct {
	// MigratableResources: All migratable resources that can be migrated to the
	// location specified in the request.
	MigratableResources []*GoogleCloudAiplatformV1MigratableResource `json:"migratableResources,omitempty"`
	// NextPageToken: The standard next-page token. The migratable_resources may
	// not fill page_size in SearchMigratableResourcesRequest even when there are
	// subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MigratableResources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MigratableResources") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchMigratableResourcesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchMigratableResourcesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest:
// Request message for
// JobService.SearchModelDeploymentMonitoringStatsAnomalies.
type GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest struct {
	// DeployedModelId: Required. The DeployedModel ID of the
	// [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id].
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// EndTime: The latest timestamp of stats being generated. If not set,
	// indicates feching stats till the latest possible one.
	EndTime string `json:"endTime,omitempty"`
	// FeatureDisplayName: The feature display name. If specified, only return the
	// stats belonging to this feature. Format:
	// ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_n
	// ame, example: "user_destination".
	FeatureDisplayName string `json:"featureDisplayName,omitempty"`
	// Objectives: Required. Objectives of the stats to retrieve.
	Objectives []*GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective `json:"objectives,omitempty"`
	// PageSize: The standard list page size.
	PageSize int64 `json:"pageSize,omitempty"`
	// PageToken: A page token received from a previous
	// JobService.SearchModelDeploymentMonitoringStatsAnomalies call.
	PageToken string `json:"pageToken,omitempty"`
	// StartTime: The earliest timestamp of stats being generated. If not set,
	// indicates fetching stats till the earliest possible one.
	StartTime string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestSt
// atsAnomaliesObjective: Stats requested for specific objective.
type GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective struct {
	// TopFeatureCount: If set, all attribution scores between
	// SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time and
	// 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 int64 `json:"topFeatureCount,omitempty"`
	// Possible values:
	//   "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED" - Default value,
	// should not be set.
	//   "RAW_FEATURE_SKEW" - Raw feature values' stats to detect skew between
	// Training-Prediction datasets.
	//   "RAW_FEATURE_DRIFT" - Raw feature values' stats to detect drift between
	// Serving-Prediction datasets.
	//   "FEATURE_ATTRIBUTION_SKEW" - Feature attribution scores to detect skew
	// between Training-Prediction datasets.
	//   "FEATURE_ATTRIBUTION_DRIFT" - Feature attribution scores to detect skew
	// between Prediction datasets collected within different time windows.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TopFeatureCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TopFeatureCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse:
//
//	Response message for
//
// JobService.SearchModelDeploymentMonitoringStatsAnomalies.
type GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse struct {
	// MonitoringStats: Stats retrieved for requested objectives. There are at most
	// 1000
	// ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats
	// in the response.
	MonitoringStats []*GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies `json:"monitoringStats,omitempty"`
	// NextPageToken: The page token that can be used by the next
	// JobService.SearchModelDeploymentMonitoringStatsAnomalies call.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MonitoringStats") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MonitoringStats") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchNearestEntitiesRequest: The request message for
// FeatureOnlineStoreService.SearchNearestEntities.
type GoogleCloudAiplatformV1SearchNearestEntitiesRequest struct {
	// Query: Required. The query.
	Query *GoogleCloudAiplatformV1NearestNeighborQuery `json:"query,omitempty"`
	// ReturnFullEntity: 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 `json:"returnFullEntity,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Query") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Query") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchNearestEntitiesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchNearestEntitiesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SearchNearestEntitiesResponse: Response message for
// FeatureOnlineStoreService.SearchNearestEntities
type GoogleCloudAiplatformV1SearchNearestEntitiesResponse struct {
	// NearestNeighbors: The nearest neighbors of the query entity.
	NearestNeighbors *GoogleCloudAiplatformV1NearestNeighbors `json:"nearestNeighbors,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NearestNeighbors") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NearestNeighbors") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SearchNearestEntitiesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchNearestEntitiesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SecretEnvVar: Represents an environment variable
// where the value is a secret in Cloud Secret Manager.
type GoogleCloudAiplatformV1SecretEnvVar struct {
	// Name: Required. Name of the secret environment variable.
	Name string `json:"name,omitempty"`
	// SecretRef: Required. Reference to a secret stored in the Cloud Secret
	// Manager that will provide the value for this environment variable.
	SecretRef *GoogleCloudAiplatformV1SecretRef `json:"secretRef,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SecretEnvVar) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SecretEnvVar
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SecretRef: Reference to a secret stored in the Cloud
// Secret Manager that will provide the value for this environment variable.
type GoogleCloudAiplatformV1SecretRef struct {
	// Secret: Required. The name of the secret in Cloud Secret Manager. Format:
	// {secret_name}.
	Secret string `json:"secret,omitempty"`
	// Version: The Cloud Secret Manager secret version. Can be 'latest' for the
	// latest version, an integer for a specific version, or a version alias.
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Secret") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Secret") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SecretRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SecretRef
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Segment: A segment of the content.
type GoogleCloudAiplatformV1Segment struct {
	// EndIndex: Output only. The end index of the segment in the `Part`, measured
	// in bytes. This marks the end of the segment and is exclusive, meaning the
	// segment includes content up to, but not including, the byte at this index.
	EndIndex int64 `json:"endIndex,omitempty"`
	// PartIndex: Output only. The index of the `Part` object that this segment
	// belongs to. This is useful for associating the segment with a specific part
	// of the content.
	PartIndex int64 `json:"partIndex,omitempty"`
	// StartIndex: Output only. The start index of the segment in the `Part`,
	// measured in bytes. This marks the beginning of the segment and is inclusive,
	// meaning the byte at this index is the first byte of the segment.
	StartIndex int64 `json:"startIndex,omitempty"`
	// Text: Output only. The text of the segment.
	Text string `json:"text,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndIndex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndIndex") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Segment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Segment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ServiceAccountSpec: Configuration for the use of
// custom service account to run the workloads.
type GoogleCloudAiplatformV1ServiceAccountSpec struct {
	// EnableCustomServiceAccount: 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 `json:"enableCustomServiceAccount,omitempty"`
	// ServiceAccount: Optional. Required when all below conditions are met *
	// `enable_custom_service_account` is true; * any runtime is specified via
	// `ResourceRuntimeSpec` on creation time, for example, Ray The users must have
	// `iam.serviceAccounts.actAs` permission on this service account and then the
	// specified runtime containers will run as it. Do not set this field if you
	// want to submit jobs using custom service account to this PersistentResource
	// after creation, but only specify the `service_account` inside the job.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnableCustomServiceAccount")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnableCustomServiceAccount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ServiceAccountSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ServiceAccountSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Session: A session contains a set of actions between
// users and Vertex agents.
type GoogleCloudAiplatformV1Session struct {
	// CreateTime: Output only. Timestamp when the session was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Optional. The display name of the session.
	DisplayName string `json:"displayName,omitempty"`
	// ExpireTime: Optional. Timestamp of when this session is considered expired.
	// This is *always* provided on output, regardless of what was sent on input.
	// The minimum value is 24 hours from the time of creation.
	ExpireTime string `json:"expireTime,omitempty"`
	// Labels: The labels with user-defined metadata to organize your Sessions.
	// 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 `json:"labels,omitempty"`
	// Name: Identifier. The resource name of the session. Format:
	// 'projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/
	// sessions/{session}'.
	Name string `json:"name,omitempty"`
	// SessionState: Optional. Session specific memory which stores key
	// conversation points.
	SessionState googleapi.RawMessage `json:"sessionState,omitempty"`
	// Ttl: Optional. Input only. The TTL for this session. The minimum value is 24
	// hours.
	Ttl string `json:"ttl,omitempty"`
	// UpdateTime: Output only. Timestamp when the session was updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// UserId: Required. Immutable. String id provided by the user
	UserId string `json:"userId,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Session) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Session
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SessionEvent: An event represents a message from
// either the user or agent.
type GoogleCloudAiplatformV1SessionEvent struct {
	// Actions: Optional. Actions executed by the agent.
	Actions *GoogleCloudAiplatformV1EventActions `json:"actions,omitempty"`
	// Author: Required. The name of the agent that sent the event, or user.
	Author string `json:"author,omitempty"`
	// Content: Optional. Content of the event provided by the author.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// ErrorCode: Optional. Error code if the response is an error. Code varies by
	// model.
	ErrorCode string `json:"errorCode,omitempty"`
	// ErrorMessage: Optional. Error message if the response is an error.
	ErrorMessage string `json:"errorMessage,omitempty"`
	// EventMetadata: Optional. Metadata relating to this event.
	EventMetadata *GoogleCloudAiplatformV1EventMetadata `json:"eventMetadata,omitempty"`
	// InvocationId: Required. The invocation id of the event, multiple events can
	// have the same invocation id.
	InvocationId string `json:"invocationId,omitempty"`
	// Name: Identifier. The resource name of the event.
	// Format:`projects/{project}/locations/{location}/reasoningEngines/{reasoning_e
	// ngine}/sessions/{session}/events/{event}`.
	Name string `json:"name,omitempty"`
	// RawEvent: Optional. Weakly typed raw event data in proto struct format.
	RawEvent googleapi.RawMessage `json:"rawEvent,omitempty"`
	// Timestamp: Required. Timestamp when the event was created on client side.
	Timestamp string `json:"timestamp,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Actions") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Actions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SessionEvent) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SessionEvent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SharePointSources: The SharePointSources to pass to
// ImportRagFiles.
type GoogleCloudAiplatformV1SharePointSources struct {
	// SharePointSources: The SharePoint sources.
	SharePointSources []*GoogleCloudAiplatformV1SharePointSourcesSharePointSource `json:"sharePointSources,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SharePointSources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SharePointSources") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SharePointSources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SharePointSources
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SharePointSourcesSharePointSource: An individual
// SharePointSource.
type GoogleCloudAiplatformV1SharePointSourcesSharePointSource struct {
	// ClientId: The Application ID for the app registered in Microsoft Azure
	// Portal. The application must also be configured with MS Graph permissions
	// "Files.ReadAll", "Sites.ReadAll" and BrowserSiteLists.Read.All.
	ClientId string `json:"clientId,omitempty"`
	// ClientSecret: The application secret for the app registered in Azure.
	ClientSecret *GoogleCloudAiplatformV1ApiAuthApiKeyConfig `json:"clientSecret,omitempty"`
	// DriveId: The ID of the drive to download from.
	DriveId string `json:"driveId,omitempty"`
	// DriveName: The name of the drive to download from.
	DriveName string `json:"driveName,omitempty"`
	// FileId: Output only. The SharePoint file id. Output only.
	FileId string `json:"fileId,omitempty"`
	// SharepointFolderId: The ID of the SharePoint folder to download from.
	SharepointFolderId string `json:"sharepointFolderId,omitempty"`
	// SharepointFolderPath: The path of the SharePoint folder to download from.
	SharepointFolderPath string `json:"sharepointFolderPath,omitempty"`
	// SharepointSiteName: The name of the SharePoint site to download from. This
	// can be the site name or the site id.
	SharepointSiteName string `json:"sharepointSiteName,omitempty"`
	// TenantId: Unique identifier of the Azure Active Directory Instance.
	TenantId string `json:"tenantId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClientId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SharePointSourcesSharePointSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SharePointSourcesSharePointSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ShieldedVmConfig: A set of Shielded Instance options.
// See Images using supported Shielded VM features
// (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
type GoogleCloudAiplatformV1ShieldedVmConfig struct {
	// EnableSecureBoot: Defines whether the instance has Secure Boot
	// (https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot)
	// enabled. Secure Boot helps ensure that the system only runs authentic
	// software by verifying the digital signature of all boot components, and
	// halting the boot process if signature verification fails.
	EnableSecureBoot bool `json:"enableSecureBoot,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EnableSecureBoot") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EnableSecureBoot") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ShieldedVmConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ShieldedVmConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SlackSource: The Slack source for the
// ImportRagFilesRequest.
type GoogleCloudAiplatformV1SlackSource struct {
	// Channels: Required. The Slack channels.
	Channels []*GoogleCloudAiplatformV1SlackSourceSlackChannels `json:"channels,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Channels") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Channels") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SlackSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SlackSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SlackSourceSlackChannels: SlackChannels contains the
// Slack channels and corresponding access token.
type GoogleCloudAiplatformV1SlackSourceSlackChannels struct {
	// ApiKeyConfig: Required. The SecretManager secret version resource name (e.g.
	// projects/{project}/secrets/{secret}/versions/{version}) storing the Slack
	// channel access token that has access to the slack channel IDs. See:
	// https://api.slack.com/tutorials/tracks/getting-a-token.
	ApiKeyConfig *GoogleCloudAiplatformV1ApiAuthApiKeyConfig `json:"apiKeyConfig,omitempty"`
	// Channels: Required. The Slack channel IDs.
	Channels []*GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel `json:"channels,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiKeyConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiKeyConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SlackSourceSlackChannels) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SlackSourceSlackChannels
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel: SlackChannel
// contains the Slack channel ID and the time range to import.
type GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel struct {
	// ChannelId: Required. The Slack channel ID.
	ChannelId string `json:"channelId,omitempty"`
	// EndTime: Optional. The ending timestamp for messages to import.
	EndTime string `json:"endTime,omitempty"`
	// StartTime: Optional. The starting timestamp for messages to import.
	StartTime string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ChannelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ChannelId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SmoothGradConfig: 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 GoogleCloudAiplatformV1SmoothGradConfig struct {
	// FeatureNoiseSigma: This is similar to 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 will be used
	// for all features.
	FeatureNoiseSigma *GoogleCloudAiplatformV1FeatureNoiseSigma `json:"featureNoiseSigma,omitempty"`
	// NoiseSigma: 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 instead for
	// each feature.
	NoiseSigma float64 `json:"noiseSigma,omitempty"`
	// NoisySampleCount: 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 int64 `json:"noisySampleCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FeatureNoiseSigma") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureNoiseSigma") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SmoothGradConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SmoothGradConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SmoothGradConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SmoothGradConfig
	var s1 struct {
		NoiseSigma gensupport.JSONFloat64 `json:"noiseSigma"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.NoiseSigma = float64(s1.NoiseSigma)
	return nil
}

// GoogleCloudAiplatformV1SpeakerVoiceConfig: Configuration for a single
// speaker in a multi-speaker setup.
type GoogleCloudAiplatformV1SpeakerVoiceConfig struct {
	// Speaker: Required. The name of the speaker. This should be the same as the
	// speaker name used in the prompt.
	Speaker string `json:"speaker,omitempty"`
	// VoiceConfig: Required. The configuration for the voice of this speaker.
	VoiceConfig *GoogleCloudAiplatformV1VoiceConfig `json:"voiceConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Speaker") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Speaker") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SpeakerVoiceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SpeakerVoiceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SpecialistPool: 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 GoogleCloudAiplatformV1SpecialistPool struct {
	// DisplayName: 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 `json:"displayName,omitempty"`
	// Name: Required. The resource name of the SpecialistPool.
	Name string `json:"name,omitempty"`
	// PendingDataLabelingJobs: Output only. The resource name of the pending data
	// labeling jobs.
	PendingDataLabelingJobs []string `json:"pendingDataLabelingJobs,omitempty"`
	// SpecialistManagerEmails: The email addresses of the managers in the
	// SpecialistPool.
	SpecialistManagerEmails []string `json:"specialistManagerEmails,omitempty"`
	// SpecialistManagersCount: Output only. The number of managers in this
	// SpecialistPool.
	SpecialistManagersCount int64 `json:"specialistManagersCount,omitempty"`
	// SpecialistWorkerEmails: The email addresses of workers in the
	// SpecialistPool.
	SpecialistWorkerEmails []string `json:"specialistWorkerEmails,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SpecialistPool) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SpecialistPool
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SpeculativeDecodingSpec: Configuration for
// Speculative Decoding.
type GoogleCloudAiplatformV1SpeculativeDecodingSpec struct {
	// DraftModelSpeculation: draft model speculation.
	DraftModelSpeculation *GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation `json:"draftModelSpeculation,omitempty"`
	// NgramSpeculation: N-Gram speculation.
	NgramSpeculation *GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation `json:"ngramSpeculation,omitempty"`
	// SpeculativeTokenCount: The number of speculative tokens to generate at each
	// step.
	SpeculativeTokenCount int64 `json:"speculativeTokenCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DraftModelSpeculation") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DraftModelSpeculation") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SpeculativeDecodingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SpeculativeDecodingSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation: Draft
// model speculation works by using the smaller model to generate candidate
// tokens for speculative decoding.
type GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation struct {
	// DraftModel: Required. The resource name of the draft model.
	DraftModel string `json:"draftModel,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DraftModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DraftModel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation: N-Gram
// speculation works by trying to find matching tokens in the previous prompt
// sequence and use those as speculation for generating new tokens.
type GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation struct {
	// NgramSize: The number of last N input tokens used as ngram to search/match
	// against the previous prompt sequence. This is equal to the N in N-Gram. The
	// default value is 3 if not specified.
	NgramSize int64 `json:"ngramSize,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NgramSize") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NgramSize") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SpeechConfig: Configuration for speech generation.
type GoogleCloudAiplatformV1SpeechConfig struct {
	// LanguageCode: Optional. The language code (ISO 639-1) for the speech
	// synthesis.
	LanguageCode string `json:"languageCode,omitempty"`
	// MultiSpeakerVoiceConfig: The configuration for a multi-speaker
	// text-to-speech request. This field is mutually exclusive with
	// `voice_config`.
	MultiSpeakerVoiceConfig *GoogleCloudAiplatformV1MultiSpeakerVoiceConfig `json:"multiSpeakerVoiceConfig,omitempty"`
	// VoiceConfig: The configuration for the voice to use.
	VoiceConfig *GoogleCloudAiplatformV1VoiceConfig `json:"voiceConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LanguageCode") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SpeechConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SpeechConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata: Metadata
// information for NotebookService.StartNotebookRuntime.
type GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ProgressMessage: A human-readable message that shows the intermediate
	// progress details of NotebookRuntime.
	ProgressMessage string `json:"progressMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StartNotebookRuntimeRequest: Request message for
// NotebookService.StartNotebookRuntime.
type GoogleCloudAiplatformV1StartNotebookRuntimeRequest struct {
}

// GoogleCloudAiplatformV1StopNotebookRuntimeRequest: Request message for
// NotebookService.StopNotebookRuntime.
type GoogleCloudAiplatformV1StopNotebookRuntimeRequest struct {
}

// GoogleCloudAiplatformV1StopTrialRequest: Request message for
// VizierService.StopTrial.
type GoogleCloudAiplatformV1StopTrialRequest struct {
}

// GoogleCloudAiplatformV1StratifiedSplit: Assigns input data to the training,
// validation, and test sets so that the distribution of values found in the
// categorical column (as specified by the `key` field) is mirrored within each
// split. The fraction values determine the relative sizes of the splits. For
// example, if the specified column has three values, with 50% of the rows
// having value "A", 25% value "B", and 25% value "C", and the split fractions
// are specified as 80/10/10, then the training set will constitute 80% of the
// training data, with about 50% of the training set rows having the value "A"
// for the specified column, about 25% having the value "B", and about 25%
// having the value "C". Only the top 500 occurring values are used; any values
// not in the top 500 values are randomly assigned to a split. If less than
// three rows contain a specific value, those rows are randomly assigned.
// Supported only for tabular Datasets.
type GoogleCloudAiplatformV1StratifiedSplit struct {
	// Key: Required. The key is a name of one of the Dataset's data columns. The
	// key provided must be for a categorical column.
	Key string `json:"key,omitempty"`
	// TestFraction: The fraction of the input data that is to be used to evaluate
	// the Model.
	TestFraction float64 `json:"testFraction,omitempty"`
	// TrainingFraction: The fraction of the input data that is to be used to train
	// the Model.
	TrainingFraction float64 `json:"trainingFraction,omitempty"`
	// ValidationFraction: The fraction of the input data that is to be used to
	// validate the Model.
	ValidationFraction float64 `json:"validationFraction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Key") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StratifiedSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StratifiedSplit
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1StratifiedSplit) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1StratifiedSplit
	var s1 struct {
		TestFraction       gensupport.JSONFloat64 `json:"testFraction"`
		TrainingFraction   gensupport.JSONFloat64 `json:"trainingFraction"`
		ValidationFraction gensupport.JSONFloat64 `json:"validationFraction"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.TestFraction = float64(s1.TestFraction)
	s.TrainingFraction = float64(s1.TrainingFraction)
	s.ValidationFraction = float64(s1.ValidationFraction)
	return nil
}

// GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest: Request message
// for ReasoningEngineExecutionService.StreamQuery.
type GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest struct {
	// ClassMethod: Optional. Class method to be used for the stream query. It is
	// optional and defaults to "stream_query" if unspecified.
	ClassMethod string `json:"classMethod,omitempty"`
	// Input: Optional. Input content provided by users in JSON object format.
	// Examples include text query, function calling parameters, media bytes, etc.
	Input googleapi.RawMessage `json:"input,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClassMethod") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClassMethod") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StreamRawPredictRequest: Request message for
// PredictionService.StreamRawPredict.
type GoogleCloudAiplatformV1StreamRawPredictRequest struct {
	// HttpBody: The prediction input. Supports HTTP headers and arbitrary data
	// payload.
	HttpBody *GoogleApiHttpBody `json:"httpBody,omitempty"`
	// ForceSendFields is a list of field names (e.g. "HttpBody") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HttpBody") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StreamRawPredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamRawPredictRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StreamingPredictRequest: Request message for
// PredictionService.StreamingPredict. The first message must contain endpoint
// field and optionally input. The subsequent messages must contain input.
type GoogleCloudAiplatformV1StreamingPredictRequest struct {
	// Inputs: The prediction input.
	Inputs []*GoogleCloudAiplatformV1Tensor `json:"inputs,omitempty"`
	// Parameters: The parameters that govern the prediction.
	Parameters *GoogleCloudAiplatformV1Tensor `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Inputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Inputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StreamingPredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamingPredictRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StreamingPredictResponse: Response message for
// PredictionService.StreamingPredict.
type GoogleCloudAiplatformV1StreamingPredictResponse struct {
	// Outputs: The prediction output.
	Outputs []*GoogleCloudAiplatformV1Tensor `json:"outputs,omitempty"`
	// Parameters: The parameters that govern the prediction.
	Parameters *GoogleCloudAiplatformV1Tensor `json:"parameters,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Outputs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Outputs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StreamingPredictResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamingPredictResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest: Request message
// for FeaturestoreOnlineServingService.StreamingReadFeatureValues.
type GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest struct {
	// EntityIds: 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 `json:"entityIds,omitempty"`
	// FeatureSelector: Required. Selector choosing Features of the target
	// EntityType. Feature IDs will be deduplicated.
	FeatureSelector *GoogleCloudAiplatformV1FeatureSelector `json:"featureSelector,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntityIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityIds") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StringArray: A list of string values.
type GoogleCloudAiplatformV1StringArray struct {
	// Values: A list of string values.
	Values []string `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StringArray) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StringArray
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StructFieldValue: One field of a Struct (or object)
// type feature value.
type GoogleCloudAiplatformV1StructFieldValue struct {
	// Name: Name of the field in the struct feature.
	Name string `json:"name,omitempty"`
	// Value: The value for this field.
	Value *GoogleCloudAiplatformV1FeatureValue `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StructFieldValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StructFieldValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StructValue: Struct (or object) type feature value.
type GoogleCloudAiplatformV1StructValue struct {
	// Values: A list of field values.
	Values []*GoogleCloudAiplatformV1StructFieldValue `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StructValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StructValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Study: A message representing a Study.
type GoogleCloudAiplatformV1Study struct {
	// CreateTime: Output only. Time at which the study was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. Describes the Study, default value is empty string.
	DisplayName string `json:"displayName,omitempty"`
	// InactiveReason: Output only. A human readable reason why the Study is
	// inactive. This should be empty if a study is ACTIVE or COMPLETED.
	InactiveReason string `json:"inactiveReason,omitempty"`
	// Name: Output only. The name of a study. The study's globally unique
	// identifier. Format:
	// `projects/{project}/locations/{location}/studies/{study}`
	Name string `json:"name,omitempty"`
	// State: Output only. The detailed state of a Study.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - The study state is unspecified.
	//   "ACTIVE" - The study is active.
	//   "INACTIVE" - The study is stopped due to an internal error.
	//   "COMPLETED" - The study is done when the service exhausts the parameter
	// search space or max_trial_count is reached.
	State string `json:"state,omitempty"`
	// StudySpec: Required. Configuration of the Study.
	StudySpec *GoogleCloudAiplatformV1StudySpec `json:"studySpec,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Study) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Study
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpec: Represents specification of a Study.
type GoogleCloudAiplatformV1StudySpec struct {
	// Algorithm: The search algorithm specified for the Study.
	//
	// Possible values:
	//   "ALGORITHM_UNSPECIFIED" - The default algorithm used by Vertex AI for
	// [hyperparameter
	// tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tunin
	// g-overview) and [Vertex AI
	// Vizier](https://cloud.google.com/vertex-ai/docs/vizier).
	//   "GRID_SEARCH" - Simple grid search within the feasible space. To use grid
	// search, all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.
	//   "RANDOM_SEARCH" - Simple random search within the feasible space.
	Algorithm string `json:"algorithm,omitempty"`
	// ConvexAutomatedStoppingSpec: The automated early stopping spec using convex
	// stopping rule.
	ConvexAutomatedStoppingSpec *GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec `json:"convexAutomatedStoppingSpec,omitempty"`
	// DecayCurveStoppingSpec: The automated early stopping spec using decay curve
	// rule.
	DecayCurveStoppingSpec *GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec `json:"decayCurveStoppingSpec,omitempty"`
	// MeasurementSelectionType: Describe which measurement selection type will be
	// used
	//
	// Possible values:
	//   "MEASUREMENT_SELECTION_TYPE_UNSPECIFIED" - Will be treated as
	// LAST_MEASUREMENT.
	//   "LAST_MEASUREMENT" - Use the last measurement reported.
	//   "BEST_MEASUREMENT" - Use the best measurement reported.
	MeasurementSelectionType string `json:"measurementSelectionType,omitempty"`
	// MedianAutomatedStoppingSpec: The automated early stopping spec using median
	// rule.
	MedianAutomatedStoppingSpec *GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec `json:"medianAutomatedStoppingSpec,omitempty"`
	// Metrics: Required. Metric specs for the Study.
	Metrics []*GoogleCloudAiplatformV1StudySpecMetricSpec `json:"metrics,omitempty"`
	// ObservationNoise: The observation noise level of the study. Currently only
	// supported by the Vertex AI Vizier service. Not supported by
	// HyperparameterTuningJob or TrainingPipeline.
	//
	// Possible values:
	//   "OBSERVATION_NOISE_UNSPECIFIED" - The default noise level chosen by Vertex
	// AI.
	//   "LOW" - Vertex AI assumes that the objective function is (nearly)
	// perfectly reproducible, and will never repeat the same Trial parameters.
	//   "HIGH" - Vertex AI will estimate the amount of noise in metric
	// evaluations, it may repeat the same Trial parameters more than once.
	ObservationNoise string `json:"observationNoise,omitempty"`
	// Parameters: Required. The set of parameters to tune.
	Parameters []*GoogleCloudAiplatformV1StudySpecParameterSpec `json:"parameters,omitempty"`
	// StudyStoppingConfig: Conditions for automated stopping of a Study. Enable
	// automated stopping by configuring at least one condition.
	StudyStoppingConfig *GoogleCloudAiplatformV1StudySpecStudyStoppingConfig `json:"studyStoppingConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Algorithm") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Algorithm") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec: 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 GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec struct {
	// LearningRateParameterName: 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 `json:"learningRateParameterName,omitempty"`
	// MaxStepCount: 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 `json:"maxStepCount,omitempty,string"`
	// MinMeasurementCount: 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 `json:"minMeasurementCount,omitempty,string"`
	// MinStepCount: 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 `json:"minStepCount,omitempty,string"`
	// UpdateAllStoppedTrials: 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 `json:"updateAllStoppedTrials,omitempty"`
	// UseElapsedDuration: 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 `json:"useElapsedDuration,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LearningRateParameterName")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LearningRateParameterName") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec: 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 GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec struct {
	// UseElapsedDuration: True if Measurement.elapsed_duration is used as the
	// x-axis of each Trials Decay Curve. Otherwise, Measurement.step_count will be
	// used as the x-axis.
	UseElapsedDuration bool `json:"useElapsedDuration,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseElapsedDuration") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseElapsedDuration") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec: 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 GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec struct {
	// UseElapsedDuration: True if median automated stopping rule applies on
	// 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 `json:"useElapsedDuration,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseElapsedDuration") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseElapsedDuration") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecMetricSpec: Represents a metric to optimize.
type GoogleCloudAiplatformV1StudySpecMetricSpec struct {
	// Goal: Required. The optimization goal of the metric.
	//
	// Possible values:
	//   "GOAL_TYPE_UNSPECIFIED" - Goal Type will default to maximize.
	//   "MAXIMIZE" - Maximize the goal metric.
	//   "MINIMIZE" - Minimize the goal metric.
	Goal string `json:"goal,omitempty"`
	// MetricId: Required. The ID of the metric. Must not contain whitespaces and
	// must be unique amongst all MetricSpecs.
	MetricId string `json:"metricId,omitempty"`
	// SafetyConfig: Used for safe search. In the case, the metric will be a safety
	// metric. You must provide a separate metric for objective metric.
	SafetyConfig *GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig `json:"safetyConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Goal") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Goal") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecMetricSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig: Used in safe
// optimization to specify threshold levels and risk tolerance.
type GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig struct {
	// DesiredMinSafeTrialsFraction: 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 `json:"desiredMinSafeTrialsFraction,omitempty"`
	// SafetyThreshold: 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 `json:"safetyThreshold,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "DesiredMinSafeTrialsFraction") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DesiredMinSafeTrialsFraction") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig
	var s1 struct {
		DesiredMinSafeTrialsFraction gensupport.JSONFloat64 `json:"desiredMinSafeTrialsFraction"`
		SafetyThreshold              gensupport.JSONFloat64 `json:"safetyThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DesiredMinSafeTrialsFraction = float64(s1.DesiredMinSafeTrialsFraction)
	s.SafetyThreshold = float64(s1.SafetyThreshold)
	return nil
}

// GoogleCloudAiplatformV1StudySpecParameterSpec: Represents a single parameter
// to optimize.
type GoogleCloudAiplatformV1StudySpecParameterSpec struct {
	// CategoricalValueSpec: The value spec for a 'CATEGORICAL' parameter.
	CategoricalValueSpec *GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec `json:"categoricalValueSpec,omitempty"`
	// ConditionalParameterSpecs: 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 []*GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec `json:"conditionalParameterSpecs,omitempty"`
	// DiscreteValueSpec: The value spec for a 'DISCRETE' parameter.
	DiscreteValueSpec *GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec `json:"discreteValueSpec,omitempty"`
	// DoubleValueSpec: The value spec for a 'DOUBLE' parameter.
	DoubleValueSpec *GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec `json:"doubleValueSpec,omitempty"`
	// IntegerValueSpec: The value spec for an 'INTEGER' parameter.
	IntegerValueSpec *GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec `json:"integerValueSpec,omitempty"`
	// ParameterId: Required. The ID of the parameter. Must not contain whitespaces
	// and must be unique amongst all ParameterSpecs.
	ParameterId string `json:"parameterId,omitempty"`
	// ScaleType: How the parameter should be scaled. Leave unset for `CATEGORICAL`
	// parameters.
	//
	// Possible values:
	//   "SCALE_TYPE_UNSPECIFIED" - By default, no scaling is applied.
	//   "UNIT_LINEAR_SCALE" - Scales the feasible space to (0, 1) linearly.
	//   "UNIT_LOG_SCALE" - Scales the feasible space logarithmically to (0, 1).
	// The entire feasible space must be strictly positive.
	//   "UNIT_REVERSE_LOG_SCALE" - 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.
	ScaleType string `json:"scaleType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CategoricalValueSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CategoricalValueSpec") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec: Value
// specification for a parameter in `CATEGORICAL` type.
type GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec struct {
	// DefaultValue: 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 `json:"defaultValue,omitempty"`
	// Values: Required. The list of possible categories.
	Values []string `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DefaultValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec:
// Represents a parameter spec with condition from its parent parameter.
type GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec struct {
	// ParameterSpec: Required. The spec for a conditional parameter.
	ParameterSpec *GoogleCloudAiplatformV1StudySpecParameterSpec `json:"parameterSpec,omitempty"`
	// ParentCategoricalValues: The spec for matching values from a parent
	// parameter of `CATEGORICAL` type.
	ParentCategoricalValues *GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition `json:"parentCategoricalValues,omitempty"`
	// ParentDiscreteValues: The spec for matching values from a parent parameter
	// of `DISCRETE` type.
	ParentDiscreteValues *GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition `json:"parentDiscreteValues,omitempty"`
	// ParentIntValues: The spec for matching values from a parent parameter of
	// `INTEGER` type.
	ParentIntValues *GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition `json:"parentIntValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ParameterSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ParameterSpec") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategori
// calValueCondition: Represents the spec to match categorical values from
// parent parameter.
type GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition struct {
	// Values: Required. Matches values of the parent parameter of 'CATEGORICAL'
	// type. All values must exist in `categorical_value_spec` of parent parameter.
	Values []string `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscrete
// ValueCondition: Represents the spec to match discrete values from parent
// parameter.
type GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition struct {
	// Values: 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 `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition
	var s1 struct {
		Values []gensupport.JSONFloat64 `json:"values"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Values = make([]float64, len(s1.Values))
	for i := range s1.Values {
		s.Values[i] = float64(s1.Values[i])
	}
	return nil
}

// GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValue
// Condition: Represents the spec to match integer values from parent
// parameter.
type GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition struct {
	// Values: Required. Matches values of the parent parameter of 'INTEGER' type.
	// All values must lie in `integer_value_spec` of parent parameter.
	Values googleapi.Int64s `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec: Value
// specification for a parameter in `DISCRETE` type.
type GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec struct {
	// DefaultValue: 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 `json:"defaultValue,omitempty"`
	// Values: 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 `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DefaultValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec
	var s1 struct {
		DefaultValue gensupport.JSONFloat64   `json:"defaultValue"`
		Values       []gensupport.JSONFloat64 `json:"values"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DefaultValue = float64(s1.DefaultValue)
	s.Values = make([]float64, len(s1.Values))
	for i := range s1.Values {
		s.Values[i] = float64(s1.Values[i])
	}
	return nil
}

// GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec: Value
// specification for a parameter in `DOUBLE` type.
type GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec struct {
	// DefaultValue: 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 `json:"defaultValue,omitempty"`
	// MaxValue: Required. Inclusive maximum value of the parameter.
	MaxValue float64 `json:"maxValue,omitempty"`
	// MinValue: Required. Inclusive minimum value of the parameter.
	MinValue float64 `json:"minValue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DefaultValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec
	var s1 struct {
		DefaultValue gensupport.JSONFloat64 `json:"defaultValue"`
		MaxValue     gensupport.JSONFloat64 `json:"maxValue"`
		MinValue     gensupport.JSONFloat64 `json:"minValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DefaultValue = float64(s1.DefaultValue)
	s.MaxValue = float64(s1.MaxValue)
	s.MinValue = float64(s1.MinValue)
	return nil
}

// GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec: Value
// specification for a parameter in `INTEGER` type.
type GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec struct {
	// DefaultValue: 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 `json:"defaultValue,omitempty,string"`
	// MaxValue: Required. Inclusive maximum value of the parameter.
	MaxValue int64 `json:"maxValue,omitempty,string"`
	// MinValue: Required. Inclusive minimum value of the parameter.
	MinValue int64 `json:"minValue,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "DefaultValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DefaultValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudySpecStudyStoppingConfig: The configuration
// (stopping conditions) for automated stopping of a Study. Conditions include
// trial budgets, time budgets, and convergence detection.
type GoogleCloudAiplatformV1StudySpecStudyStoppingConfig struct {
	// MaxDurationNoProgress: If the objective value has not improved for this much
	// time, stop the study. WARNING: Effective only for single-objective studies.
	MaxDurationNoProgress string `json:"maxDurationNoProgress,omitempty"`
	// MaxNumTrials: If there are more than this many trials, stop the study.
	MaxNumTrials int64 `json:"maxNumTrials,omitempty"`
	// MaxNumTrialsNoProgress: If the objective value has not improved for this
	// many consecutive trials, stop the study. WARNING: Effective only for
	// single-objective studies.
	MaxNumTrialsNoProgress int64 `json:"maxNumTrialsNoProgress,omitempty"`
	// MaximumRuntimeConstraint: If the specified time or duration has passed, stop
	// the study.
	MaximumRuntimeConstraint *GoogleCloudAiplatformV1StudyTimeConstraint `json:"maximumRuntimeConstraint,omitempty"`
	// MinNumTrials: If there are fewer than this many COMPLETED trials, do not
	// stop the study.
	MinNumTrials int64 `json:"minNumTrials,omitempty"`
	// MinimumRuntimeConstraint: 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 *GoogleCloudAiplatformV1StudyTimeConstraint `json:"minimumRuntimeConstraint,omitempty"`
	// ShouldStopAsap: 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 bool `json:"shouldStopAsap,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxDurationNoProgress") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxDurationNoProgress") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudySpecStudyStoppingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecStudyStoppingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1StudyTimeConstraint: Time-based Constraint for Study
type GoogleCloudAiplatformV1StudyTimeConstraint struct {
	// EndTime: Compares the wallclock time to this time. Must use UTC timezone.
	EndTime string `json:"endTime,omitempty"`
	// MaxDuration: Counts the wallclock time passed since the creation of this
	// Study.
	MaxDuration string `json:"maxDuration,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1StudyTimeConstraint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudyTimeConstraint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SuggestTrialsMetadata: Details of operations that
// perform Trials suggestion.
type GoogleCloudAiplatformV1SuggestTrialsMetadata struct {
	// ClientId: The identifier of the client that is requesting the suggestion. If
	// multiple SuggestTrialsRequests have the same `client_id`, the service will
	// return the identical suggested Trial if the Trial is pending, and provide a
	// new Trial if the last suggested Trial was completed.
	ClientId string `json:"clientId,omitempty"`
	// GenericMetadata: Operation metadata for suggesting Trials.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClientId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SuggestTrialsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SuggestTrialsMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SuggestTrialsRequest: Request message for
// VizierService.SuggestTrials.
type GoogleCloudAiplatformV1SuggestTrialsRequest struct {
	// ClientId: Required. The identifier of the client that is requesting the
	// suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the
	// service will return the identical suggested Trial if the Trial is pending,
	// and provide a new Trial if the last suggested Trial was completed.
	ClientId string `json:"clientId,omitempty"`
	// Contexts: Optional. This allows you to specify the "context" for a Trial; a
	// context is a slice (a subspace) of the search space. Typical uses for
	// contexts: 1) You are using Vizier to tune a server for best performance, but
	// there's a strong weekly cycle. The context specifies the day-of-week. This
	// allows Tuesday to generalize from Wednesday without assuming that everything
	// is identical. 2) Imagine you're optimizing some medical treatment for
	// people. As they walk in the door, you know certain facts about them (e.g.
	// sex, weight, height, blood-pressure). Put that information in the context,
	// and Vizier will adapt its suggestions to the patient. 3) You want to do a
	// fair A/B test efficiently. Specify the "A" and "B" conditions as contexts,
	// and Vizier will generalize between "A" and "B" conditions. If they are
	// similar, this will allow Vizier to converge to the optimum faster than if
	// "A" and "B" were separate Studies. NOTE: You can also enter contexts as
	// REQUESTED Trials, e.g. via the CreateTrial() RPC; that's the asynchronous
	// option where you don't need a close association between contexts and
	// suggestions. NOTE: All the Parameters you set in a context MUST be defined
	// in the Study. NOTE: You must supply 0 or $suggestion_count contexts. If you
	// don't supply any contexts, Vizier will make suggestions from the full search
	// space specified in the StudySpec; if you supply a full set of context, each
	// suggestion will match the corresponding context. NOTE: A Context with no
	// features set matches anything, and allows suggestions from the full search
	// space. NOTE: Contexts MUST lie within the search space specified in the
	// StudySpec. It's an error if they don't. NOTE: Contexts preferentially match
	// ACTIVE then REQUESTED trials before new suggestions are generated. NOTE:
	// Generation of suggestions involves a match between a Context and
	// (optionally) a REQUESTED trial; if that match is not fully specified, a
	// suggestion will be geneated in the merged subspace.
	Contexts []*GoogleCloudAiplatformV1TrialContext `json:"contexts,omitempty"`
	// SuggestionCount: Required. The number of suggestions requested. It must be
	// positive.
	SuggestionCount int64 `json:"suggestionCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClientId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SuggestTrialsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SuggestTrialsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SuggestTrialsResponse: Response message for
// VizierService.SuggestTrials.
type GoogleCloudAiplatformV1SuggestTrialsResponse struct {
	// EndTime: The time at which operation processing completed.
	EndTime string `json:"endTime,omitempty"`
	// StartTime: The time at which the operation was started.
	StartTime string `json:"startTime,omitempty"`
	// StudyState: The state of the Study.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - The study state is unspecified.
	//   "ACTIVE" - The study is active.
	//   "INACTIVE" - The study is stopped due to an internal error.
	//   "COMPLETED" - The study is done when the service exhausts the parameter
	// search space or max_trial_count is reached.
	StudyState string `json:"studyState,omitempty"`
	// Trials: A list of Trials.
	Trials []*GoogleCloudAiplatformV1Trial `json:"trials,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SuggestTrialsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SuggestTrialsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationHelpfulnessInput: Input for
// summarization helpfulness metric.
type GoogleCloudAiplatformV1SummarizationHelpfulnessInput struct {
	// Instance: Required. Summarization helpfulness instance.
	Instance *GoogleCloudAiplatformV1SummarizationHelpfulnessInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for summarization helpfulness score metric.
	MetricSpec *GoogleCloudAiplatformV1SummarizationHelpfulnessSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationHelpfulnessInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationHelpfulnessInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationHelpfulnessInstance: Spec for
// summarization helpfulness instance.
type GoogleCloudAiplatformV1SummarizationHelpfulnessInstance struct {
	// Context: Required. Text to be summarized.
	Context string `json:"context,omitempty"`
	// Instruction: Optional. Summarization prompt for LLM.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationHelpfulnessInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationHelpfulnessInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationHelpfulnessResult: Spec for
// summarization helpfulness result.
type GoogleCloudAiplatformV1SummarizationHelpfulnessResult struct {
	// Confidence: Output only. Confidence for summarization helpfulness score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for summarization helpfulness score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Summarization Helpfulness score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationHelpfulnessResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationHelpfulnessResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SummarizationHelpfulnessResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SummarizationHelpfulnessResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1SummarizationHelpfulnessSpec: Spec for summarization
// helpfulness score metric.
type GoogleCloudAiplatformV1SummarizationHelpfulnessSpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// summarization helpfulness.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationHelpfulnessSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationHelpfulnessSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationQualityInput: Input for summarization
// quality metric.
type GoogleCloudAiplatformV1SummarizationQualityInput struct {
	// Instance: Required. Summarization quality instance.
	Instance *GoogleCloudAiplatformV1SummarizationQualityInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for summarization quality score metric.
	MetricSpec *GoogleCloudAiplatformV1SummarizationQualitySpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationQualityInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationQualityInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationQualityInstance: Spec for summarization
// quality instance.
type GoogleCloudAiplatformV1SummarizationQualityInstance struct {
	// Context: Required. Text to be summarized.
	Context string `json:"context,omitempty"`
	// Instruction: Required. Summarization prompt for LLM.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationQualityInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationQualityInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationQualityResult: Spec for summarization
// quality result.
type GoogleCloudAiplatformV1SummarizationQualityResult struct {
	// Confidence: Output only. Confidence for summarization quality score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for summarization quality score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Summarization Quality score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationQualityResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationQualityResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SummarizationQualityResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SummarizationQualityResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1SummarizationQualitySpec: Spec for summarization
// quality score metric.
type GoogleCloudAiplatformV1SummarizationQualitySpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// summarization quality.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationQualitySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationQualitySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationVerbosityInput: Input for summarization
// verbosity metric.
type GoogleCloudAiplatformV1SummarizationVerbosityInput struct {
	// Instance: Required. Summarization verbosity instance.
	Instance *GoogleCloudAiplatformV1SummarizationVerbosityInstance `json:"instance,omitempty"`
	// MetricSpec: Required. Spec for summarization verbosity score metric.
	MetricSpec *GoogleCloudAiplatformV1SummarizationVerbositySpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instance") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instance") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationVerbosityInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationVerbosityInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationVerbosityInstance: Spec for
// summarization verbosity instance.
type GoogleCloudAiplatformV1SummarizationVerbosityInstance struct {
	// Context: Required. Text to be summarized.
	Context string `json:"context,omitempty"`
	// Instruction: Optional. Summarization prompt for LLM.
	Instruction string `json:"instruction,omitempty"`
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Optional. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Context") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationVerbosityInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationVerbosityInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummarizationVerbosityResult: Spec for summarization
// verbosity result.
type GoogleCloudAiplatformV1SummarizationVerbosityResult struct {
	// Confidence: Output only. Confidence for summarization verbosity score.
	Confidence float64 `json:"confidence,omitempty"`
	// Explanation: Output only. Explanation for summarization verbosity score.
	Explanation string `json:"explanation,omitempty"`
	// Score: Output only. Summarization Verbosity score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Confidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Confidence") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationVerbosityResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationVerbosityResult
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SummarizationVerbosityResult) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SummarizationVerbosityResult
	var s1 struct {
		Confidence gensupport.JSONFloat64 `json:"confidence"`
		Score      gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Confidence = float64(s1.Confidence)
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1SummarizationVerbositySpec: Spec for summarization
// verbosity score metric.
type GoogleCloudAiplatformV1SummarizationVerbositySpec struct {
	// UseReference: Optional. Whether to use instance.reference to compute
	// summarization verbosity.
	UseReference bool `json:"useReference,omitempty"`
	// Version: Optional. Which version to use for evaluation.
	Version int64 `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseReference") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseReference") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummarizationVerbositySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummarizationVerbositySpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SummaryMetrics: The summary metrics for the
// evaluation run.
type GoogleCloudAiplatformV1SummaryMetrics struct {
	// FailedItems: Optional. The number of items that failed to be evaluated.
	FailedItems int64 `json:"failedItems,omitempty"`
	// Metrics: Optional. Map of metric name to metric value.
	Metrics googleapi.RawMessage `json:"metrics,omitempty"`
	// TotalItems: Optional. The total number of items that were evaluated.
	TotalItems int64 `json:"totalItems,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FailedItems") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FailedItems") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SummaryMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SummaryMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SupervisedHyperParameters: Hyperparameters for SFT.
type GoogleCloudAiplatformV1SupervisedHyperParameters struct {
	// AdapterSize: Optional. Adapter size for tuning.
	//
	// Possible values:
	//   "ADAPTER_SIZE_UNSPECIFIED" - Adapter size is unspecified.
	//   "ADAPTER_SIZE_ONE" - Adapter size 1.
	//   "ADAPTER_SIZE_TWO" - Adapter size 2.
	//   "ADAPTER_SIZE_FOUR" - Adapter size 4.
	//   "ADAPTER_SIZE_EIGHT" - Adapter size 8.
	//   "ADAPTER_SIZE_SIXTEEN" - Adapter size 16.
	//   "ADAPTER_SIZE_THIRTY_TWO" - Adapter size 32.
	AdapterSize string `json:"adapterSize,omitempty"`
	// EpochCount: Optional. Number of complete passes the model makes over the
	// entire training dataset during training.
	EpochCount int64 `json:"epochCount,omitempty,string"`
	// LearningRateMultiplier: Optional. Multiplier for adjusting the default
	// learning rate. Mutually exclusive with `learning_rate`. This feature is only
	// available for 1P models.
	LearningRateMultiplier float64 `json:"learningRateMultiplier,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdapterSize") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdapterSize") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SupervisedHyperParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SupervisedHyperParameters
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SupervisedHyperParameters) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SupervisedHyperParameters
	var s1 struct {
		LearningRateMultiplier gensupport.JSONFloat64 `json:"learningRateMultiplier"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.LearningRateMultiplier = float64(s1.LearningRateMultiplier)
	return nil
}

// GoogleCloudAiplatformV1SupervisedTuningDataStats: Tuning data statistics for
// Supervised Tuning.
type GoogleCloudAiplatformV1SupervisedTuningDataStats struct {
	// DroppedExampleReasons: Output only. For each index in
	// `truncated_example_indices`, the user-facing reason why the example was
	// dropped.
	DroppedExampleReasons []string `json:"droppedExampleReasons,omitempty"`
	// TotalBillableCharacterCount: Output only. Number of billable characters in
	// the tuning dataset.
	TotalBillableCharacterCount int64 `json:"totalBillableCharacterCount,omitempty,string"`
	// TotalBillableTokenCount: Output only. Number of billable tokens in the
	// tuning dataset.
	TotalBillableTokenCount int64 `json:"totalBillableTokenCount,omitempty,string"`
	// TotalTruncatedExampleCount: Output only. The number of examples in the
	// dataset that have been dropped. An example can be dropped for reasons
	// including: too many tokens, contains an invalid image, contains too many
	// images, etc.
	TotalTruncatedExampleCount int64 `json:"totalTruncatedExampleCount,omitempty,string"`
	// TotalTuningCharacterCount: Output only. Number of tuning characters in the
	// tuning dataset.
	TotalTuningCharacterCount int64 `json:"totalTuningCharacterCount,omitempty,string"`
	// TruncatedExampleIndices: Output only. A partial sample of the indices
	// (starting from 1) of the dropped examples.
	TruncatedExampleIndices googleapi.Int64s `json:"truncatedExampleIndices,omitempty"`
	// TuningDatasetExampleCount: Output only. Number of examples in the tuning
	// dataset.
	TuningDatasetExampleCount int64 `json:"tuningDatasetExampleCount,omitempty,string"`
	// TuningStepCount: Output only. Number of tuning steps for this Tuning Job.
	TuningStepCount int64 `json:"tuningStepCount,omitempty,string"`
	// UserDatasetExamples: Output only. Sample user messages in the training
	// dataset uri.
	UserDatasetExamples []*GoogleCloudAiplatformV1Content `json:"userDatasetExamples,omitempty"`
	// UserInputTokenDistribution: Output only. Dataset distributions for the user
	// input tokens.
	UserInputTokenDistribution *GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution `json:"userInputTokenDistribution,omitempty"`
	// UserMessagePerExampleDistribution: Output only. Dataset distributions for
	// the messages per example.
	UserMessagePerExampleDistribution *GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution `json:"userMessagePerExampleDistribution,omitempty"`
	// UserOutputTokenDistribution: Output only. Dataset distributions for the user
	// output tokens.
	UserOutputTokenDistribution *GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution `json:"userOutputTokenDistribution,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DroppedExampleReasons") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DroppedExampleReasons") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SupervisedTuningDataStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SupervisedTuningDataStats
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution: Dataset
// distribution for Supervised Tuning.
type GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution struct {
	// BillableSum: Output only. Sum of a given population of values that are
	// billable.
	BillableSum int64 `json:"billableSum,omitempty,string"`
	// Buckets: Output only. Defines the histogram bucket.
	Buckets []*GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket `json:"buckets,omitempty"`
	// Max: Output only. The maximum of the population values.
	Max float64 `json:"max,omitempty"`
	// Mean: Output only. The arithmetic mean of the values in the population.
	Mean float64 `json:"mean,omitempty"`
	// Median: Output only. The median of the values in the population.
	Median float64 `json:"median,omitempty"`
	// Min: Output only. The minimum of the population values.
	Min float64 `json:"min,omitempty"`
	// P5: Output only. The 5th percentile of the values in the population.
	P5 float64 `json:"p5,omitempty"`
	// P95: Output only. The 95th percentile of the values in the population.
	P95 float64 `json:"p95,omitempty"`
	// Sum: Output only. Sum of a given population of values.
	Sum int64 `json:"sum,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "BillableSum") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BillableSum") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution
	var s1 struct {
		Max    gensupport.JSONFloat64 `json:"max"`
		Mean   gensupport.JSONFloat64 `json:"mean"`
		Median gensupport.JSONFloat64 `json:"median"`
		Min    gensupport.JSONFloat64 `json:"min"`
		P5     gensupport.JSONFloat64 `json:"p5"`
		P95    gensupport.JSONFloat64 `json:"p95"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Max = float64(s1.Max)
	s.Mean = float64(s1.Mean)
	s.Median = float64(s1.Median)
	s.Min = float64(s1.Min)
	s.P5 = float64(s1.P5)
	s.P95 = float64(s1.P95)
	return nil
}

// GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket:
// Dataset bucket used to create a histogram for the distribution given a
// population of values.
type GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket struct {
	// Count: Output only. Number of values in the bucket.
	Count float64 `json:"count,omitempty"`
	// Left: Output only. Left bound of the bucket.
	Left float64 `json:"left,omitempty"`
	// Right: Output only. Right bound of the bucket.
	Right float64 `json:"right,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Count") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket
	var s1 struct {
		Count gensupport.JSONFloat64 `json:"count"`
		Left  gensupport.JSONFloat64 `json:"left"`
		Right gensupport.JSONFloat64 `json:"right"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Count = float64(s1.Count)
	s.Left = float64(s1.Left)
	s.Right = float64(s1.Right)
	return nil
}

// GoogleCloudAiplatformV1SupervisedTuningSpec: Tuning Spec for Supervised
// Tuning for first party models.
type GoogleCloudAiplatformV1SupervisedTuningSpec struct {
	// EvaluationConfig: Optional. Evaluation Config for Tuning Job.
	EvaluationConfig *GoogleCloudAiplatformV1EvaluationConfig `json:"evaluationConfig,omitempty"`
	// ExportLastCheckpointOnly: Optional. If set to true, disable intermediate
	// checkpoints for SFT and only the last checkpoint will be exported.
	// Otherwise, enable intermediate checkpoints for SFT. Default is false.
	ExportLastCheckpointOnly bool `json:"exportLastCheckpointOnly,omitempty"`
	// HyperParameters: Optional. Hyperparameters for SFT.
	HyperParameters *GoogleCloudAiplatformV1SupervisedHyperParameters `json:"hyperParameters,omitempty"`
	// TrainingDatasetUri: Required. Training dataset used for tuning. The dataset
	// can be specified as either a Cloud Storage path to a JSONL file or as the
	// resource name of a Vertex Multimodal Dataset.
	TrainingDatasetUri string `json:"trainingDatasetUri,omitempty"`
	// ValidationDatasetUri: Optional. Validation dataset used for tuning. The
	// dataset can be specified as either a Cloud Storage path to a JSONL file or
	// as the resource name of a Vertex Multimodal Dataset.
	ValidationDatasetUri string `json:"validationDatasetUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EvaluationConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EvaluationConfig") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SupervisedTuningSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SupervisedTuningSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SyncFeatureViewRequest: Request message for
// FeatureOnlineStoreAdminService.SyncFeatureView.
type GoogleCloudAiplatformV1SyncFeatureViewRequest struct {
}

// GoogleCloudAiplatformV1SyncFeatureViewResponse: Response message for
// FeatureOnlineStoreAdminService.SyncFeatureView.
type GoogleCloudAiplatformV1SyncFeatureViewResponse struct {
	// FeatureViewSync: Format:
	// `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_
	// store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`
	FeatureViewSync string `json:"featureViewSync,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FeatureViewSync") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureViewSync") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SyncFeatureViewResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SyncFeatureViewResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SyntheticExample: A single instance of generated
// synthetic data. Each example is made up of one or more named fields, as
// defined in `OutputFieldSpec`. These examples are used as few-shot examples
// to show the model what you want (in `GenerateSyntheticDataRequest.examples`)
// and to return generated examples in the response (in
// `GenerateSyntheticDataResponse.synthetic_examples`).
type GoogleCloudAiplatformV1SyntheticExample struct {
	// Fields: Required. A list of fields that constitute an example.
	Fields []*GoogleCloudAiplatformV1SyntheticField `json:"fields,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Fields") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SyntheticExample) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SyntheticExample
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1SyntheticField: Represents a single named field
// within a synthetic example, consisting of a name and the actual content.
type GoogleCloudAiplatformV1SyntheticField struct {
	// Content: Required. The actual content or value for this field. This can be
	// text, images, or other types of data.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// FieldName: Optional. The name of the specific field, such as "product_name"
	// or "review_text".
	FieldName string `json:"fieldName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Content") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1SyntheticField) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SyntheticField
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TFRecordDestination: The storage details for TFRecord
// output content.
type GoogleCloudAiplatformV1TFRecordDestination struct {
	// GcsDestination: Required. Google Cloud Storage location.
	GcsDestination *GoogleCloudAiplatformV1GcsDestination `json:"gcsDestination,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcsDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcsDestination") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TFRecordDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TFRecordDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TaskDescriptionStrategy: Defines a generation
// strategy based on a general task description.
type GoogleCloudAiplatformV1TaskDescriptionStrategy struct {
	// TaskDescription: Required. A general description of the type of synthetic
	// data you want to generate. For example, "Generate customer reviews for a new
	// smartphone."
	TaskDescription string `json:"taskDescription,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TaskDescription") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TaskDescription") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TaskDescriptionStrategy) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TaskDescriptionStrategy
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Tensor: A tensor value type.
type GoogleCloudAiplatformV1Tensor struct {
	// BoolVal: Type specific representations that make it easy to create tensor
	// protos in all languages. Only the representation corresponding to "dtype"
	// can be set. The values hold the flattened representation of the tensor in
	// row major order. BOOL
	BoolVal []bool `json:"boolVal,omitempty"`
	// BytesVal: STRING
	BytesVal []string `json:"bytesVal,omitempty"`
	// DoubleVal: DOUBLE
	DoubleVal []float64 `json:"doubleVal,omitempty"`
	// Dtype: The data type of tensor.
	//
	// Possible values:
	//   "DATA_TYPE_UNSPECIFIED" - Not a legal value for DataType. Used to indicate
	// a DataType field has not been set.
	//   "BOOL" - Data types that all computation devices are expected to be
	// capable to support.
	//   "STRING"
	//   "FLOAT"
	//   "DOUBLE"
	//   "INT8"
	//   "INT16"
	//   "INT32"
	//   "INT64"
	//   "UINT8"
	//   "UINT16"
	//   "UINT32"
	//   "UINT64"
	Dtype string `json:"dtype,omitempty"`
	// FloatVal: FLOAT
	FloatVal []float64 `json:"floatVal,omitempty"`
	// Int64Val: INT64
	Int64Val googleapi.Int64s `json:"int64Val,omitempty"`
	// IntVal: INT_8 INT_16 INT_32
	IntVal []int64 `json:"intVal,omitempty"`
	// ListVal: A list of tensor values.
	ListVal []*GoogleCloudAiplatformV1Tensor `json:"listVal,omitempty"`
	// Shape: Shape of the tensor.
	Shape googleapi.Int64s `json:"shape,omitempty"`
	// StringVal: STRING
	StringVal []string `json:"stringVal,omitempty"`
	// StructVal: A map of string to tensor.
	StructVal map[string]GoogleCloudAiplatformV1Tensor `json:"structVal,omitempty"`
	// TensorVal: Serialized raw tensor content.
	TensorVal string `json:"tensorVal,omitempty"`
	// Uint64Val: UINT64
	Uint64Val googleapi.Uint64s `json:"uint64Val,omitempty"`
	// UintVal: UINT8 UINT16 UINT32
	UintVal []int64 `json:"uintVal,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BoolVal") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BoolVal") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Tensor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Tensor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Tensor) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Tensor
	var s1 struct {
		DoubleVal []gensupport.JSONFloat64 `json:"doubleVal"`
		FloatVal  []gensupport.JSONFloat64 `json:"floatVal"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DoubleVal = make([]float64, len(s1.DoubleVal))
	for i := range s1.DoubleVal {
		s.DoubleVal[i] = float64(s1.DoubleVal[i])
	}
	s.FloatVal = make([]float64, len(s1.FloatVal))
	for i := range s1.FloatVal {
		s.FloatVal[i] = float64(s1.FloatVal[i])
	}
	return nil
}

// GoogleCloudAiplatformV1Tensorboard: 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 GoogleCloudAiplatformV1Tensorboard struct {
	// BlobStoragePathPrefix: 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 `json:"blobStoragePathPrefix,omitempty"`
	// CreateTime: Output only. Timestamp when this Tensorboard was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of this Tensorboard.
	Description string `json:"description,omitempty"`
	// DisplayName: Required. User provided name of this Tensorboard.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: 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 *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// Etag: Used to perform a consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// IsDefault: 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 `json:"isDefault,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. Name of the Tensorboard. Format:
	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
	Name string `json:"name,omitempty"`
	// RunCount: Output only. The number of Runs stored in this Tensorboard.
	RunCount int64 `json:"runCount,omitempty"`
	// SatisfiesPzi: Output only. Reserved for future use.
	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
	// SatisfiesPzs: Output only. Reserved for future use.
	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
	// UpdateTime: Output only. Timestamp when this Tensorboard was last updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BlobStoragePathPrefix") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlobStoragePathPrefix") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Tensorboard) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Tensorboard
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TensorboardBlob: One blob (e.g, image, graph)
// viewable on a blob metric plot.
type GoogleCloudAiplatformV1TensorboardBlob struct {
	// Data: Optional. The bytes of the blob is not present unless it's returned by
	// the ReadTensorboardBlobData endpoint.
	Data string `json:"data,omitempty"`
	// Id: 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 `json:"id,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Data") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TensorboardBlob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardBlob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TensorboardBlobSequence: 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 GoogleCloudAiplatformV1TensorboardBlobSequence struct {
	// Values: List of blobs contained within the sequence.
	Values []*GoogleCloudAiplatformV1TensorboardBlob `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Values") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TensorboardBlobSequence) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardBlobSequence
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TensorboardExperiment: A TensorboardExperiment is a
// group of TensorboardRuns, that are typically the results of a training job
// run, in a Tensorboard.
type GoogleCloudAiplatformV1TensorboardExperiment struct {
	// CreateTime: Output only. Timestamp when this TensorboardExperiment was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of this TensorboardExperiment.
	Description string `json:"description,omitempty"`
	// DisplayName: User provided name of this TensorboardExperiment.
	DisplayName string `json:"displayName,omitempty"`
	// Etag: Used to perform consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 title.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Output only. Name of the TensorboardExperiment. Format:
	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experimen
	// ts/{experiment}`
	Name string `json:"name,omitempty"`
	// Source: Immutable. Source of the TensorboardExperiment. Example: a custom
	// training job.
	Source string `json:"source,omitempty"`
	// UpdateTime: Output only. Timestamp when this TensorboardExperiment was last
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TensorboardExperiment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardExperiment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TensorboardRun: TensorboardRun maps to a specific
// execution of a training job with a given set of hyperparameter values, model
// definition, dataset, etc
type GoogleCloudAiplatformV1TensorboardRun struct {
	// CreateTime: Output only. Timestamp when this TensorboardRun was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of this TensorboardRun.
	Description string `json:"description,omitempty"`
	// DisplayName: Required. User provided name of this TensorboardRun. This value
	// must be unique among all TensorboardRuns belonging to the same parent
	// TensorboardExperiment.
	DisplayName string `json:"displayName,omitempty"`
	// Etag: Used to perform a consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// Name: Output only. Name of the TensorboardRun. Format:
	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experimen
	// ts/{experiment}/runs/{run}`
	Name string `json:"name,omitempty"`
	// UpdateTime: Output only. Timestamp when this TensorboardRun was last
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TensorboardRun) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardRun
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TensorboardTensor: One point viewable on a tensor
// metric plot.
type GoogleCloudAiplatformV1TensorboardTensor struct {
	// Value: Required. Serialized form of
	// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto
	Value string `json:"value,omitempty"`
	// VersionNumber: Optional. Version number of TensorProto used to serialize
	// value.
	VersionNumber int64 `json:"versionNumber,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Value") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TensorboardTensor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardTensor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TensorboardTimeSeries: TensorboardTimeSeries maps to
// times series produced in training runs
type GoogleCloudAiplatformV1TensorboardTimeSeries struct {
	// CreateTime: Output only. Timestamp when this TensorboardTimeSeries was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Description of this TensorboardTimeSeries.
	Description string `json:"description,omitempty"`
	// DisplayName: 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 `json:"displayName,omitempty"`
	// Etag: Used to perform a consistent read-modify-write updates. If not set, a
	// blind "overwrite" update happens.
	Etag string `json:"etag,omitempty"`
	// Metadata: Output only. Scalar, Tensor, or Blob metadata for this
	// TensorboardTimeSeries.
	Metadata *GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata `json:"metadata,omitempty"`
	// Name: Output only. Name of the TensorboardTimeSeries.
	Name string `json:"name,omitempty"`
	// PluginData: Data of the current plugin, with the size limited to 65KB.
	PluginData string `json:"pluginData,omitempty"`
	// PluginName: Immutable. Name of the plugin this time series pertain to. Such
	// as Scalar, Tensor, Blob
	PluginName string `json:"pluginName,omitempty"`
	// UpdateTime: Output only. Timestamp when this TensorboardTimeSeries was last
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// ValueType: Required. Immutable. Type of TensorboardTimeSeries value.
	//
	// Possible values:
	//   "VALUE_TYPE_UNSPECIFIED" - The value type is unspecified.
	//   "SCALAR" - Used for TensorboardTimeSeries that is a list of scalars. E.g.
	// accuracy of a model over epochs/time.
	//   "TENSOR" - Used for TensorboardTimeSeries that is a list of tensors. E.g.
	// histograms of weights of layer in a model over epoch/time.
	//   "BLOB_SEQUENCE" - Used for TensorboardTimeSeries that is a list of blob
	// sequences. E.g. set of sample images with labels over epochs/time.
	ValueType string `json:"valueType,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TensorboardTimeSeries) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardTimeSeries
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata: Describes metadata for
// a TensorboardTimeSeries.
type GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata struct {
	// MaxBlobSequenceLength: 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 `json:"maxBlobSequenceLength,omitempty,string"`
	// MaxStep: Output only. Max step index of all data points within a
	// TensorboardTimeSeries.
	MaxStep int64 `json:"maxStep,omitempty,string"`
	// MaxWallTime: Output only. Max wall clock timestamp of all data points within
	// a TensorboardTimeSeries.
	MaxWallTime string `json:"maxWallTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MaxBlobSequenceLength") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MaxBlobSequenceLength") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ThresholdConfig: The config for feature monitoring
// threshold.
type GoogleCloudAiplatformV1ThresholdConfig struct {
	// Value: 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 `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Value") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ThresholdConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ThresholdConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ThresholdConfig) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ThresholdConfig
	var s1 struct {
		Value gensupport.JSONFloat64 `json:"value"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Value = float64(s1.Value)
	return nil
}

// GoogleCloudAiplatformV1TimeSeriesData: All the data stored in a
// TensorboardTimeSeries.
type GoogleCloudAiplatformV1TimeSeriesData struct {
	// TensorboardTimeSeriesId: Required. The ID of the TensorboardTimeSeries,
	// which will become the final component of the TensorboardTimeSeries' resource
	// name
	TensorboardTimeSeriesId string `json:"tensorboardTimeSeriesId,omitempty"`
	// ValueType: Required. Immutable. The value type of this time series. All the
	// values in this time series data must match this value type.
	//
	// Possible values:
	//   "VALUE_TYPE_UNSPECIFIED" - The value type is unspecified.
	//   "SCALAR" - Used for TensorboardTimeSeries that is a list of scalars. E.g.
	// accuracy of a model over epochs/time.
	//   "TENSOR" - Used for TensorboardTimeSeries that is a list of tensors. E.g.
	// histograms of weights of layer in a model over epoch/time.
	//   "BLOB_SEQUENCE" - Used for TensorboardTimeSeries that is a list of blob
	// sequences. E.g. set of sample images with labels over epochs/time.
	ValueType string `json:"valueType,omitempty"`
	// Values: Required. Data points in this time series.
	Values []*GoogleCloudAiplatformV1TimeSeriesDataPoint `json:"values,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TensorboardTimeSeriesId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TensorboardTimeSeriesId") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TimeSeriesData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TimeSeriesData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TimeSeriesDataPoint: A TensorboardTimeSeries data
// point.
type GoogleCloudAiplatformV1TimeSeriesDataPoint struct {
	// Blobs: A blob sequence value.
	Blobs *GoogleCloudAiplatformV1TensorboardBlobSequence `json:"blobs,omitempty"`
	// Scalar: A scalar value.
	Scalar *GoogleCloudAiplatformV1Scalar `json:"scalar,omitempty"`
	// Step: Step index of this data point within the run.
	Step int64 `json:"step,omitempty,string"`
	// Tensor: A tensor value.
	Tensor *GoogleCloudAiplatformV1TensorboardTensor `json:"tensor,omitempty"`
	// WallTime: Wall clock timestamp when this data point is generated by the end
	// user.
	WallTime string `json:"wallTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Blobs") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Blobs") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TimeSeriesDataPoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TimeSeriesDataPoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TimestampSplit: Assigns input data to training,
// validation, and test sets based on a provided timestamps. The youngest data
// pieces are assigned to training set, next to validation set, and the oldest
// to the test set. Supported only for tabular Datasets.
type GoogleCloudAiplatformV1TimestampSplit struct {
	// Key: Required. The key is a name of one of the Dataset's data columns. The
	// values of the key (the values in the column) must be in RFC 3339 `date-time`
	// format, where `time-offset` = "Z" (e.g. 1985-04-12T23:20:50.52Z). If for a
	// piece of data the key is not present or has an invalid value, that piece is
	// ignored by the pipeline.
	Key string `json:"key,omitempty"`
	// TestFraction: The fraction of the input data that is to be used to evaluate
	// the Model.
	TestFraction float64 `json:"testFraction,omitempty"`
	// TrainingFraction: The fraction of the input data that is to be used to train
	// the Model.
	TrainingFraction float64 `json:"trainingFraction,omitempty"`
	// ValidationFraction: The fraction of the input data that is to be used to
	// validate the Model.
	ValidationFraction float64 `json:"validationFraction,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Key") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TimestampSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TimestampSplit
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1TimestampSplit) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1TimestampSplit
	var s1 struct {
		TestFraction       gensupport.JSONFloat64 `json:"testFraction"`
		TrainingFraction   gensupport.JSONFloat64 `json:"trainingFraction"`
		ValidationFraction gensupport.JSONFloat64 `json:"validationFraction"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.TestFraction = float64(s1.TestFraction)
	s.TrainingFraction = float64(s1.TrainingFraction)
	s.ValidationFraction = float64(s1.ValidationFraction)
	return nil
}

// GoogleCloudAiplatformV1TokensInfo: Tokens info with a list of tokens and the
// corresponding list of token ids.
type GoogleCloudAiplatformV1TokensInfo struct {
	// Role: Optional. Optional fields for the role from the corresponding Content.
	Role string `json:"role,omitempty"`
	// TokenIds: A list of token ids from the input.
	TokenIds googleapi.Int64s `json:"tokenIds,omitempty"`
	// Tokens: A list of tokens from the input.
	Tokens []string `json:"tokens,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Role") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Role") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TokensInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TokensInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Tool: 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 (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).
type GoogleCloudAiplatformV1Tool struct {
	// CodeExecution: Optional. CodeExecution tool type. Enables the model to
	// execute code as part of generation.
	CodeExecution *GoogleCloudAiplatformV1ToolCodeExecution `json:"codeExecution,omitempty"`
	// ComputerUse: Optional. Tool to support the model interacting directly with
	// the computer. If enabled, it automatically populates computer-use specific
	// Function Declarations.
	ComputerUse *GoogleCloudAiplatformV1ToolComputerUse `json:"computerUse,omitempty"`
	// EnterpriseWebSearch: Optional. Tool to support searching public web data,
	// powered by Vertex AI Search and Sec4 compliance.
	EnterpriseWebSearch *GoogleCloudAiplatformV1EnterpriseWebSearch `json:"enterpriseWebSearch,omitempty"`
	// FunctionDeclarations: Optional. Function tool type. 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 in the response. User should provide a FunctionResponse for
	// each function call in the next turn. Based on the function responses, Model
	// will generate the final response back to the user. Maximum 512 function
	// declarations can be provided.
	FunctionDeclarations []*GoogleCloudAiplatformV1FunctionDeclaration `json:"functionDeclarations,omitempty"`
	// GoogleMaps: Optional. GoogleMaps tool type. Tool to support Google Maps in
	// Model.
	GoogleMaps *GoogleCloudAiplatformV1GoogleMaps `json:"googleMaps,omitempty"`
	// GoogleSearch: Optional. GoogleSearch tool type. Tool to support Google
	// Search in Model. Powered by Google.
	GoogleSearch *GoogleCloudAiplatformV1ToolGoogleSearch `json:"googleSearch,omitempty"`
	// GoogleSearchRetrieval: Optional. Specialized retrieval tool that is powered
	// by Google Search.
	GoogleSearchRetrieval *GoogleCloudAiplatformV1GoogleSearchRetrieval `json:"googleSearchRetrieval,omitempty"`
	// ParallelAiSearch: Optional. If specified, Vertex AI will use Parallel.ai to
	// search for information to answer user queries. The search results will be
	// grounded on Parallel.ai and presented to the model for response generation
	ParallelAiSearch *GoogleCloudAiplatformV1ToolParallelAiSearch `json:"parallelAiSearch,omitempty"`
	// Retrieval: Optional. Retrieval tool type. 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 *GoogleCloudAiplatformV1Retrieval `json:"retrieval,omitempty"`
	// UrlContext: Optional. Tool to support URL context retrieval.
	UrlContext *GoogleCloudAiplatformV1UrlContext `json:"urlContext,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CodeExecution") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CodeExecution") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Tool) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Tool
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolCall: Spec for tool call.
type GoogleCloudAiplatformV1ToolCall struct {
	// ToolInput: Optional. Spec for tool input
	ToolInput string `json:"toolInput,omitempty"`
	// ToolName: Required. Spec for tool name
	ToolName string `json:"toolName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ToolInput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ToolInput") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolCall) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolCall
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolCallValidInput: Input for tool call valid metric.
type GoogleCloudAiplatformV1ToolCallValidInput struct {
	// Instances: Required. Repeated tool call valid instances.
	Instances []*GoogleCloudAiplatformV1ToolCallValidInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for tool call valid metric.
	MetricSpec *GoogleCloudAiplatformV1ToolCallValidSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolCallValidInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolCallValidInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolCallValidInstance: Spec for tool call valid
// instance.
type GoogleCloudAiplatformV1ToolCallValidInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Required. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolCallValidInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolCallValidInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolCallValidMetricValue: Tool call valid metric
// value for an instance.
type GoogleCloudAiplatformV1ToolCallValidMetricValue struct {
	// Score: Output only. Tool call valid score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolCallValidMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolCallValidMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ToolCallValidMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ToolCallValidMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1ToolCallValidResults: Results for tool call valid
// metric.
type GoogleCloudAiplatformV1ToolCallValidResults struct {
	// ToolCallValidMetricValues: Output only. Tool call valid metric values.
	ToolCallValidMetricValues []*GoogleCloudAiplatformV1ToolCallValidMetricValue `json:"toolCallValidMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ToolCallValidMetricValues")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ToolCallValidMetricValues") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolCallValidResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolCallValidResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolCallValidSpec: Spec for tool call valid metric.
type GoogleCloudAiplatformV1ToolCallValidSpec struct {
}

// GoogleCloudAiplatformV1ToolCodeExecution: Tool that executes code generated
// by the model, and automatically returns the result to the model. See also
// ExecutableCode and CodeExecutionResult, which are input and output to this
// tool.
type GoogleCloudAiplatformV1ToolCodeExecution struct {
}

// GoogleCloudAiplatformV1ToolComputerUse: Tool to support computer use.
type GoogleCloudAiplatformV1ToolComputerUse struct {
	// Environment: Required. The environment being operated.
	//
	// Possible values:
	//   "ENVIRONMENT_UNSPECIFIED" - Defaults to browser.
	//   "ENVIRONMENT_BROWSER" - Operates in a web browser.
	Environment string `json:"environment,omitempty"`
	// ExcludedPredefinedFunctions: Optional. By default, predefined functions
	// (https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions)
	// are included in the final model call. Some of them can be explicitly
	// excluded from being automatically included. This can serve two purposes: 1.
	// Using a more restricted / different action space. 2. Improving the
	// definitions / instructions of predefined functions.
	ExcludedPredefinedFunctions []string `json:"excludedPredefinedFunctions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Environment") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Environment") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolComputerUse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolComputerUse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolConfig: Tool config. This config is shared for
// all tools provided in the request.
type GoogleCloudAiplatformV1ToolConfig struct {
	// FunctionCallingConfig: Optional. Function calling config.
	FunctionCallingConfig *GoogleCloudAiplatformV1FunctionCallingConfig `json:"functionCallingConfig,omitempty"`
	// RetrievalConfig: Optional. Retrieval config.
	RetrievalConfig *GoogleCloudAiplatformV1RetrievalConfig `json:"retrievalConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FunctionCallingConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FunctionCallingConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolGoogleSearch: GoogleSearch tool type. Tool to
// support Google Search in Model. Powered by Google.
type GoogleCloudAiplatformV1ToolGoogleSearch struct {
	// BlockingConfidence: Optional. Sites with confidence level chosen & above
	// this value will be blocked from the search results.
	//
	// Possible values:
	//   "PHISH_BLOCK_THRESHOLD_UNSPECIFIED" - Defaults to unspecified.
	//   "BLOCK_LOW_AND_ABOVE" - Blocks Low and above confidence URL that is risky.
	//   "BLOCK_MEDIUM_AND_ABOVE" - Blocks Medium and above confidence URL that is
	// risky.
	//   "BLOCK_HIGH_AND_ABOVE" - Blocks High and above confidence URL that is
	// risky.
	//   "BLOCK_HIGHER_AND_ABOVE" - Blocks Higher and above confidence URL that is
	// risky.
	//   "BLOCK_VERY_HIGH_AND_ABOVE" - Blocks Very high and above confidence URL
	// that is risky.
	//   "BLOCK_ONLY_EXTREMELY_HIGH" - Blocks Extremely high confidence URL that is
	// risky.
	BlockingConfidence string `json:"blockingConfidence,omitempty"`
	// ExcludeDomains: Optional. List of domains to be excluded from the search
	// results. The default limit is 2000 domains. Example: ["amazon.com",
	// "facebook.com"].
	ExcludeDomains []string `json:"excludeDomains,omitempty"`
	// SearchTypes: Optional. The set of search types to enable. If not set, web
	// search is enabled by default.
	SearchTypes *GoogleCloudAiplatformV1ToolGoogleSearchSearchTypes `json:"searchTypes,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlockingConfidence") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlockingConfidence") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolGoogleSearch) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolGoogleSearch
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolGoogleSearchImageSearch: Image search for
// grounding and related configurations.
type GoogleCloudAiplatformV1ToolGoogleSearchImageSearch struct {
}

// GoogleCloudAiplatformV1ToolGoogleSearchSearchTypes: Different types of
// search that can be enabled on the GoogleSearch tool.
type GoogleCloudAiplatformV1ToolGoogleSearchSearchTypes struct {
	// ImageSearch: Optional. Setting this field enables image search. Image bytes
	// are returned.
	ImageSearch *GoogleCloudAiplatformV1ToolGoogleSearchImageSearch `json:"imageSearch,omitempty"`
	// WebSearch: Optional. Setting this field enables web search. Only text
	// results are returned.
	WebSearch *GoogleCloudAiplatformV1ToolGoogleSearchWebSearch `json:"webSearch,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ImageSearch") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImageSearch") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolGoogleSearchSearchTypes) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolGoogleSearchSearchTypes
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolGoogleSearchWebSearch: Standard web search for
// grounding and related configurations. Only text results are returned.
type GoogleCloudAiplatformV1ToolGoogleSearchWebSearch struct {
}

// GoogleCloudAiplatformV1ToolNameMatchInput: Input for tool name match metric.
type GoogleCloudAiplatformV1ToolNameMatchInput struct {
	// Instances: Required. Repeated tool name match instances.
	Instances []*GoogleCloudAiplatformV1ToolNameMatchInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for tool name match metric.
	MetricSpec *GoogleCloudAiplatformV1ToolNameMatchSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolNameMatchInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolNameMatchInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolNameMatchInstance: Spec for tool name match
// instance.
type GoogleCloudAiplatformV1ToolNameMatchInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Required. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolNameMatchInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolNameMatchInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolNameMatchMetricValue: Tool name match metric
// value for an instance.
type GoogleCloudAiplatformV1ToolNameMatchMetricValue struct {
	// Score: Output only. Tool name match score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolNameMatchMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolNameMatchMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ToolNameMatchMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ToolNameMatchMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1ToolNameMatchResults: Results for tool name match
// metric.
type GoogleCloudAiplatformV1ToolNameMatchResults struct {
	// ToolNameMatchMetricValues: Output only. Tool name match metric values.
	ToolNameMatchMetricValues []*GoogleCloudAiplatformV1ToolNameMatchMetricValue `json:"toolNameMatchMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ToolNameMatchMetricValues")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ToolNameMatchMetricValues") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolNameMatchResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolNameMatchResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolNameMatchSpec: Spec for tool name match metric.
type GoogleCloudAiplatformV1ToolNameMatchSpec struct {
}

// GoogleCloudAiplatformV1ToolParallelAiSearch: ParallelAiSearch tool type. A
// tool that uses the Parallel.ai search engine for grounding.
type GoogleCloudAiplatformV1ToolParallelAiSearch struct {
	// ApiKey: Optional. The API key for ParallelAiSearch. If an API key is not
	// provided, the system will attempt to verify access by checking for an active
	// Parallel.ai subscription through the Google Cloud Marketplace. See
	// https://docs.parallel.ai/search/search-quickstart for more details.
	ApiKey string `json:"apiKey,omitempty"`
	// CustomConfigs: Optional. Custom configs for ParallelAiSearch. This field can
	// be used to pass any parameter from the Parallel.ai Search API. See the
	// Parallel.ai documentation for the full list of available parameters and
	// their usage: https://docs.parallel.ai/api-reference/search-beta/search
	// Currently only `source_policy`, `excerpts`, `max_results`, `mode`,
	// `fetch_policy` can be set via this field. For example: { "source_policy": {
	// "include_domains": ["google.com", "wikipedia.org"], "exclude_domains":
	// ["example.com"] }, "fetch_policy": { "max_age_seconds": 3600 } }
	CustomConfigs googleapi.RawMessage `json:"customConfigs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiKey") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiKey") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParallelAiSearch) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParallelAiSearch
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKVMatchInput: Input for tool parameter
// key value match metric.
type GoogleCloudAiplatformV1ToolParameterKVMatchInput struct {
	// Instances: Required. Repeated tool parameter key value match instances.
	Instances []*GoogleCloudAiplatformV1ToolParameterKVMatchInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for tool parameter key value match metric.
	MetricSpec *GoogleCloudAiplatformV1ToolParameterKVMatchSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKVMatchInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKVMatchInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKVMatchInstance: Spec for tool parameter
// key value match instance.
type GoogleCloudAiplatformV1ToolParameterKVMatchInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Required. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKVMatchInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKVMatchInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue: Tool parameter key
// value match metric value for an instance.
type GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue struct {
	// Score: Output only. Tool parameter key value match score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1ToolParameterKVMatchResults: Results for tool
// parameter key value match metric.
type GoogleCloudAiplatformV1ToolParameterKVMatchResults struct {
	// ToolParameterKvMatchMetricValues: Output only. Tool parameter key value
	// match metric values.
	ToolParameterKvMatchMetricValues []*GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue `json:"toolParameterKvMatchMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "ToolParameterKvMatchMetricValues") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "ToolParameterKvMatchMetricValues") to include in API requests with the JSON
	// null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKVMatchResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKVMatchResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKVMatchSpec: Spec for tool parameter key
// value match metric.
type GoogleCloudAiplatformV1ToolParameterKVMatchSpec struct {
	// UseStrictStringMatch: Optional. Whether to use STRICT string match on
	// parameter values.
	UseStrictStringMatch bool `json:"useStrictStringMatch,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UseStrictStringMatch") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UseStrictStringMatch") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKVMatchSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKVMatchSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKeyMatchInput: Input for tool parameter
// key match metric.
type GoogleCloudAiplatformV1ToolParameterKeyMatchInput struct {
	// Instances: Required. Repeated tool parameter key match instances.
	Instances []*GoogleCloudAiplatformV1ToolParameterKeyMatchInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for tool parameter key match metric.
	MetricSpec *GoogleCloudAiplatformV1ToolParameterKeyMatchSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKeyMatchInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKeyMatchInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKeyMatchInstance: Spec for tool
// parameter key match instance.
type GoogleCloudAiplatformV1ToolParameterKeyMatchInstance struct {
	// Prediction: Required. Output of the evaluated model.
	Prediction string `json:"prediction,omitempty"`
	// Reference: Required. Ground truth used to compare against the prediction.
	Reference string `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prediction") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prediction") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKeyMatchInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKeyMatchInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue: Tool parameter key
// match metric value for an instance.
type GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue struct {
	// Score: Output only. Tool parameter key match score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1ToolParameterKeyMatchResults: Results for tool
// parameter key match metric.
type GoogleCloudAiplatformV1ToolParameterKeyMatchResults struct {
	// ToolParameterKeyMatchMetricValues: Output only. Tool parameter key match
	// metric values.
	ToolParameterKeyMatchMetricValues []*GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue `json:"toolParameterKeyMatchMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "ToolParameterKeyMatchMetricValues") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "ToolParameterKeyMatchMetricValues") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1ToolParameterKeyMatchResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ToolParameterKeyMatchResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1ToolParameterKeyMatchSpec: Spec for tool parameter
// key match metric.
type GoogleCloudAiplatformV1ToolParameterKeyMatchSpec struct {
}

// GoogleCloudAiplatformV1TrainingConfig: 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 GoogleCloudAiplatformV1TrainingConfig struct {
	// TimeoutTrainingMilliHours: 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 `json:"timeoutTrainingMilliHours,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "TimeoutTrainingMilliHours")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TimeoutTrainingMilliHours") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrainingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrainingConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrainingPipeline: 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 the Model to Vertex AI, and evaluate the
// Model.
type GoogleCloudAiplatformV1TrainingPipeline struct {
	// CreateTime: Output only. Time when the TrainingPipeline was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The user-defined name of this TrainingPipeline.
	DisplayName string `json:"displayName,omitempty"`
	// EncryptionSpec: 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 is not set separately.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EndTime: Output only. Time when the TrainingPipeline entered any of the
	// following states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`,
	// `PIPELINE_STATE_CANCELLED`.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. Only populated when the pipeline's state is
	// `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// InputDataConfig: Specifies Vertex AI owned input data that may be used for
	// training the Model. The TrainingPipeline's 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, then it should be assumed that
	// the TrainingPipeline does not depend on this configuration.
	InputDataConfig *GoogleCloudAiplatformV1InputDataConfig `json:"inputDataConfig,omitempty"`
	// Labels: 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 `json:"labels,omitempty"`
	// ModelId: 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 `json:"modelId,omitempty"`
	// ModelToUpload: Describes the Model that may be uploaded (via
	// ModelService.UploadModel) by this TrainingPipeline. The TrainingPipeline's
	// 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, 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 is populated. The Model
	// is always uploaded into the Project and Location in which this pipeline is.
	ModelToUpload *GoogleCloudAiplatformV1Model `json:"modelToUpload,omitempty"`
	// Name: Output only. Resource name of the TrainingPipeline.
	Name string `json:"name,omitempty"`
	// ParentModel: 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 `json:"parentModel,omitempty"`
	// StartTime: Output only. Time when the TrainingPipeline for the first time
	// entered the `PIPELINE_STATE_RUNNING` state.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the pipeline.
	//
	// Possible values:
	//   "PIPELINE_STATE_UNSPECIFIED" - The pipeline state is unspecified.
	//   "PIPELINE_STATE_QUEUED" - The pipeline has been created or resumed, and
	// processing has not yet begun.
	//   "PIPELINE_STATE_PENDING" - The service is preparing to run the pipeline.
	//   "PIPELINE_STATE_RUNNING" - The pipeline is in progress.
	//   "PIPELINE_STATE_SUCCEEDED" - The pipeline completed successfully.
	//   "PIPELINE_STATE_FAILED" - The pipeline failed.
	//   "PIPELINE_STATE_CANCELLING" - 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.
	//   "PIPELINE_STATE_CANCELLED" - The pipeline has been cancelled.
	//   "PIPELINE_STATE_PAUSED" - The pipeline has been stopped, and can be
	// resumed.
	State string `json:"state,omitempty"`
	// TrainingTaskDefinition: 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 `json:"trainingTaskDefinition,omitempty"`
	// TrainingTaskInputs: Required. The training task's parameter(s), as specified
	// in the training_task_definition's `inputs`.
	TrainingTaskInputs interface{} `json:"trainingTaskInputs,omitempty"`
	// TrainingTaskMetadata: Output only. The metadata information as specified in
	// the 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 contains `metadata`
	// object.
	TrainingTaskMetadata interface{} `json:"trainingTaskMetadata,omitempty"`
	// UpdateTime: Output only. Time when the TrainingPipeline was most recently
	// updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrainingPipeline) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrainingPipeline
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Trajectory: Spec for trajectory.
type GoogleCloudAiplatformV1Trajectory struct {
	// ToolCalls: Required. Tool calls in the trajectory.
	ToolCalls []*GoogleCloudAiplatformV1ToolCall `json:"toolCalls,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ToolCalls") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ToolCalls") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Trajectory) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Trajectory
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput: Instances and metric
// spec for TrajectoryAnyOrderMatch metric.
type GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput struct {
	// Instances: Required. Repeated TrajectoryAnyOrderMatch instance.
	Instances []*GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for TrajectoryAnyOrderMatch metric.
	MetricSpec *GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance: Spec for
// TrajectoryAnyOrderMatch instance.
type GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance struct {
	// PredictedTrajectory: Required. Spec for predicted tool call trajectory.
	PredictedTrajectory *GoogleCloudAiplatformV1Trajectory `json:"predictedTrajectory,omitempty"`
	// ReferenceTrajectory: Required. Spec for reference tool call trajectory.
	ReferenceTrajectory *GoogleCloudAiplatformV1Trajectory `json:"referenceTrajectory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PredictedTrajectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PredictedTrajectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue:
// TrajectoryAnyOrderMatch metric value for an instance.
type GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue struct {
	// Score: Output only. TrajectoryAnyOrderMatch score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults: Results for
// TrajectoryAnyOrderMatch metric.
type GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults struct {
	// TrajectoryAnyOrderMatchMetricValues: Output only. TrajectoryAnyOrderMatch
	// metric values.
	TrajectoryAnyOrderMatchMetricValues []*GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue `json:"trajectoryAnyOrderMatchMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "TrajectoryAnyOrderMatchMetricValues") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "TrajectoryAnyOrderMatchMetricValues") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec: Spec for
// TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the
// reference trajectory appear in the predicted trajectory in any order, else
// 0.
type GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec struct {
}

// GoogleCloudAiplatformV1TrajectoryExactMatchInput: Instances and metric spec
// for TrajectoryExactMatch metric.
type GoogleCloudAiplatformV1TrajectoryExactMatchInput struct {
	// Instances: Required. Repeated TrajectoryExactMatch instance.
	Instances []*GoogleCloudAiplatformV1TrajectoryExactMatchInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for TrajectoryExactMatch metric.
	MetricSpec *GoogleCloudAiplatformV1TrajectoryExactMatchSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryExactMatchInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryExactMatchInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryExactMatchInstance: Spec for
// TrajectoryExactMatch instance.
type GoogleCloudAiplatformV1TrajectoryExactMatchInstance struct {
	// PredictedTrajectory: Required. Spec for predicted tool call trajectory.
	PredictedTrajectory *GoogleCloudAiplatformV1Trajectory `json:"predictedTrajectory,omitempty"`
	// ReferenceTrajectory: Required. Spec for reference tool call trajectory.
	ReferenceTrajectory *GoogleCloudAiplatformV1Trajectory `json:"referenceTrajectory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PredictedTrajectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PredictedTrajectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryExactMatchInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryExactMatchInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue: TrajectoryExactMatch
// metric value for an instance.
type GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue struct {
	// Score: Output only. TrajectoryExactMatch score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1TrajectoryExactMatchResults: Results for
// TrajectoryExactMatch metric.
type GoogleCloudAiplatformV1TrajectoryExactMatchResults struct {
	// TrajectoryExactMatchMetricValues: Output only. TrajectoryExactMatch metric
	// values.
	TrajectoryExactMatchMetricValues []*GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue `json:"trajectoryExactMatchMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "TrajectoryExactMatchMetricValues") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "TrajectoryExactMatchMetricValues") to include in API requests with the JSON
	// null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryExactMatchResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryExactMatchResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryExactMatchSpec: Spec for
// TrajectoryExactMatch metric - returns 1 if tool calls in the reference
// trajectory exactly match the predicted trajectory, else 0.
type GoogleCloudAiplatformV1TrajectoryExactMatchSpec struct {
}

// GoogleCloudAiplatformV1TrajectoryInOrderMatchInput: Instances and metric
// spec for TrajectoryInOrderMatch metric.
type GoogleCloudAiplatformV1TrajectoryInOrderMatchInput struct {
	// Instances: Required. Repeated TrajectoryInOrderMatch instance.
	Instances []*GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for TrajectoryInOrderMatch metric.
	MetricSpec *GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryInOrderMatchInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryInOrderMatchInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance: Spec for
// TrajectoryInOrderMatch instance.
type GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance struct {
	// PredictedTrajectory: Required. Spec for predicted tool call trajectory.
	PredictedTrajectory *GoogleCloudAiplatformV1Trajectory `json:"predictedTrajectory,omitempty"`
	// ReferenceTrajectory: Required. Spec for reference tool call trajectory.
	ReferenceTrajectory *GoogleCloudAiplatformV1Trajectory `json:"referenceTrajectory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PredictedTrajectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PredictedTrajectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue:
// TrajectoryInOrderMatch metric value for an instance.
type GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue struct {
	// Score: Output only. TrajectoryInOrderMatch score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1TrajectoryInOrderMatchResults: Results for
// TrajectoryInOrderMatch metric.
type GoogleCloudAiplatformV1TrajectoryInOrderMatchResults struct {
	// TrajectoryInOrderMatchMetricValues: Output only. TrajectoryInOrderMatch
	// metric values.
	TrajectoryInOrderMatchMetricValues []*GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue `json:"trajectoryInOrderMatchMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "TrajectoryInOrderMatchMetricValues") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "TrajectoryInOrderMatchMetricValues") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryInOrderMatchResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryInOrderMatchResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec: Spec for
// TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference
// trajectory appear in the predicted trajectory in the same order, else 0.
type GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec struct {
}

// GoogleCloudAiplatformV1TrajectoryPrecisionInput: Instances and metric spec
// for TrajectoryPrecision metric.
type GoogleCloudAiplatformV1TrajectoryPrecisionInput struct {
	// Instances: Required. Repeated TrajectoryPrecision instance.
	Instances []*GoogleCloudAiplatformV1TrajectoryPrecisionInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for TrajectoryPrecision metric.
	MetricSpec *GoogleCloudAiplatformV1TrajectoryPrecisionSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryPrecisionInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryPrecisionInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryPrecisionInstance: Spec for
// TrajectoryPrecision instance.
type GoogleCloudAiplatformV1TrajectoryPrecisionInstance struct {
	// PredictedTrajectory: Required. Spec for predicted tool call trajectory.
	PredictedTrajectory *GoogleCloudAiplatformV1Trajectory `json:"predictedTrajectory,omitempty"`
	// ReferenceTrajectory: Required. Spec for reference tool call trajectory.
	ReferenceTrajectory *GoogleCloudAiplatformV1Trajectory `json:"referenceTrajectory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PredictedTrajectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PredictedTrajectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryPrecisionInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryPrecisionInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue: TrajectoryPrecision
// metric value for an instance.
type GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue struct {
	// Score: Output only. TrajectoryPrecision score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1TrajectoryPrecisionResults: Results for
// TrajectoryPrecision metric.
type GoogleCloudAiplatformV1TrajectoryPrecisionResults struct {
	// TrajectoryPrecisionMetricValues: Output only. TrajectoryPrecision metric
	// values.
	TrajectoryPrecisionMetricValues []*GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue `json:"trajectoryPrecisionMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "TrajectoryPrecisionMetricValues") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TrajectoryPrecisionMetricValues")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryPrecisionResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryPrecisionResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryPrecisionSpec: Spec for TrajectoryPrecision
// metric - returns a float score based on average precision of individual tool
// calls.
type GoogleCloudAiplatformV1TrajectoryPrecisionSpec struct {
}

// GoogleCloudAiplatformV1TrajectoryRecallInput: Instances and metric spec for
// TrajectoryRecall metric.
type GoogleCloudAiplatformV1TrajectoryRecallInput struct {
	// Instances: Required. Repeated TrajectoryRecall instance.
	Instances []*GoogleCloudAiplatformV1TrajectoryRecallInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for TrajectoryRecall metric.
	MetricSpec *GoogleCloudAiplatformV1TrajectoryRecallSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryRecallInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryRecallInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryRecallInstance: Spec for TrajectoryRecall
// instance.
type GoogleCloudAiplatformV1TrajectoryRecallInstance struct {
	// PredictedTrajectory: Required. Spec for predicted tool call trajectory.
	PredictedTrajectory *GoogleCloudAiplatformV1Trajectory `json:"predictedTrajectory,omitempty"`
	// ReferenceTrajectory: Required. Spec for reference tool call trajectory.
	ReferenceTrajectory *GoogleCloudAiplatformV1Trajectory `json:"referenceTrajectory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PredictedTrajectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PredictedTrajectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryRecallInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryRecallInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryRecallMetricValue: TrajectoryRecall metric
// value for an instance.
type GoogleCloudAiplatformV1TrajectoryRecallMetricValue struct {
	// Score: Output only. TrajectoryRecall score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryRecallMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryRecallMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1TrajectoryRecallMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1TrajectoryRecallMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1TrajectoryRecallResults: Results for TrajectoryRecall
// metric.
type GoogleCloudAiplatformV1TrajectoryRecallResults struct {
	// TrajectoryRecallMetricValues: Output only. TrajectoryRecall metric values.
	TrajectoryRecallMetricValues []*GoogleCloudAiplatformV1TrajectoryRecallMetricValue `json:"trajectoryRecallMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "TrajectoryRecallMetricValues") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TrajectoryRecallMetricValues") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectoryRecallResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectoryRecallResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectoryRecallSpec: Spec for TrajectoryRecall
// metric - returns a float score based on average recall of individual tool
// calls.
type GoogleCloudAiplatformV1TrajectoryRecallSpec struct {
}

// GoogleCloudAiplatformV1TrajectorySingleToolUseInput: Instances and metric
// spec for TrajectorySingleToolUse metric.
type GoogleCloudAiplatformV1TrajectorySingleToolUseInput struct {
	// Instances: Required. Repeated TrajectorySingleToolUse instance.
	Instances []*GoogleCloudAiplatformV1TrajectorySingleToolUseInstance `json:"instances,omitempty"`
	// MetricSpec: Required. Spec for TrajectorySingleToolUse metric.
	MetricSpec *GoogleCloudAiplatformV1TrajectorySingleToolUseSpec `json:"metricSpec,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Instances") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectorySingleToolUseInput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectorySingleToolUseInput
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectorySingleToolUseInstance: Spec for
// TrajectorySingleToolUse instance.
type GoogleCloudAiplatformV1TrajectorySingleToolUseInstance struct {
	// PredictedTrajectory: Required. Spec for predicted tool call trajectory.
	PredictedTrajectory *GoogleCloudAiplatformV1Trajectory `json:"predictedTrajectory,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PredictedTrajectory") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PredictedTrajectory") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectorySingleToolUseInstance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectorySingleToolUseInstance
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue:
// TrajectorySingleToolUse metric value for an instance.
type GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue struct {
	// Score: Output only. TrajectorySingleToolUse score.
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Score") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

// GoogleCloudAiplatformV1TrajectorySingleToolUseResults: Results for
// TrajectorySingleToolUse metric.
type GoogleCloudAiplatformV1TrajectorySingleToolUseResults struct {
	// TrajectorySingleToolUseMetricValues: Output only. TrajectorySingleToolUse
	// metric values.
	TrajectorySingleToolUseMetricValues []*GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue `json:"trajectorySingleToolUseMetricValues,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "TrajectorySingleToolUseMetricValues") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "TrajectorySingleToolUseMetricValues") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectorySingleToolUseResults) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectorySingleToolUseResults
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrajectorySingleToolUseSpec: Spec for
// TrajectorySingleToolUse metric - returns 1 if tool is present in the
// predicted trajectory, else 0.
type GoogleCloudAiplatformV1TrajectorySingleToolUseSpec struct {
	// ToolName: Required. Spec for tool name to be checked for in the predicted
	// trajectory.
	ToolName string `json:"toolName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ToolName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ToolName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrajectorySingleToolUseSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrajectorySingleToolUseSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Transcription: Audio transcription in Server Content.
type GoogleCloudAiplatformV1Transcription struct {
	// Finished: Optional. The bool indicates the end of the transcription.
	Finished bool `json:"finished,omitempty"`
	// Text: Optional. Transcription text.
	Text string `json:"text,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Finished") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Finished") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Transcription) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Transcription
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Trial: 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 GoogleCloudAiplatformV1Trial struct {
	// ClientId: 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 `json:"clientId,omitempty"`
	// CustomJob: Output only. The CustomJob name linked to the Trial. It's set for
	// a HyperparameterTuningJob's Trial.
	CustomJob string `json:"customJob,omitempty"`
	// EndTime: Output only. Time when the Trial's status changed to `SUCCEEDED` or
	// `INFEASIBLE`.
	EndTime string `json:"endTime,omitempty"`
	// FinalMeasurement: Output only. The final measurement containing the
	// objective value.
	FinalMeasurement *GoogleCloudAiplatformV1Measurement `json:"finalMeasurement,omitempty"`
	// Id: Output only. The identifier of the Trial assigned by the service.
	Id string `json:"id,omitempty"`
	// InfeasibleReason: Output only. A human readable string describing why the
	// Trial is infeasible. This is set only if Trial state is `INFEASIBLE`.
	InfeasibleReason string `json:"infeasibleReason,omitempty"`
	// Measurements: 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 []*GoogleCloudAiplatformV1Measurement `json:"measurements,omitempty"`
	// Name: Output only. Resource name of the Trial assigned by the service.
	Name string `json:"name,omitempty"`
	// Parameters: Output only. The parameters of the Trial.
	Parameters []*GoogleCloudAiplatformV1TrialParameter `json:"parameters,omitempty"`
	// StartTime: Output only. Time when the Trial was started.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the Trial.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - The Trial state is unspecified.
	//   "REQUESTED" - Indicates that a specific Trial has been requested, but it
	// has not yet been suggested by the service.
	//   "ACTIVE" - Indicates that the Trial has been suggested.
	//   "STOPPING" - Indicates that the Trial should stop according to the
	// service.
	//   "SUCCEEDED" - Indicates that the Trial is completed successfully.
	//   "INFEASIBLE" - 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.
	State string `json:"state,omitempty"`
	// WebAccessUris: 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 and the job's trial_job_spec.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 `json:"webAccessUris,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ClientId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Trial) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Trial
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleCloudAiplatformV1TrialContext struct {
	// Description: 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 `json:"description,omitempty"`
	// Parameters: 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 []*GoogleCloudAiplatformV1TrialParameter `json:"parameters,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrialContext) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrialContext
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TrialParameter: A message representing a parameter to
// be tuned.
type GoogleCloudAiplatformV1TrialParameter struct {
	// ParameterId: Output only. The ID of the parameter. The parameter should be
	// defined in StudySpec's Parameters.
	ParameterId string `json:"parameterId,omitempty"`
	// Value: 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 interface{} `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ParameterId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ParameterId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TrialParameter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrialParameter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TunedModel: The Model Registry Model and Online
// Prediction Endpoint associated with this TuningJob.
type GoogleCloudAiplatformV1TunedModel struct {
	// Checkpoints: Output only. The checkpoints associated with this TunedModel.
	// This field is only populated for tuning jobs that enable intermediate
	// checkpoints.
	Checkpoints []*GoogleCloudAiplatformV1TunedModelCheckpoint `json:"checkpoints,omitempty"`
	// Endpoint: Output only. A resource name of an Endpoint. Format:
	// `projects/{project}/locations/{location}/endpoints/{endpoint}`.
	Endpoint string `json:"endpoint,omitempty"`
	// Model: Output only. The resource name of the TunedModel. Format:
	// `projects/{project}/locations/{location}/models/{model}@{version_id}` When
	// tuning from a base model, the version ID will be 1. For continuous tuning,
	// if the provided tuned_model_display_name is set and different from parent
	// model's display name, the tuned model will have a new parent model with
	// version 1. Otherwise the version id will be incremented by 1 from the last
	// version ID in the parent model. E.g.,
	// `projects/{project}/locations/{location}/models/{model}@{last_version_id +
	// 1}`
	Model string `json:"model,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Checkpoints") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Checkpoints") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TunedModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TunedModel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TunedModelCheckpoint: TunedModelCheckpoint for the
// Tuned Model of a Tuning Job.
type GoogleCloudAiplatformV1TunedModelCheckpoint struct {
	// CheckpointId: The ID of the checkpoint.
	CheckpointId string `json:"checkpointId,omitempty"`
	// Endpoint: The Endpoint resource name that the checkpoint is deployed to.
	// Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
	Endpoint string `json:"endpoint,omitempty"`
	// Epoch: The epoch of the checkpoint.
	Epoch int64 `json:"epoch,omitempty,string"`
	// Step: The step of the checkpoint.
	Step int64 `json:"step,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "CheckpointId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CheckpointId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TunedModelCheckpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TunedModelCheckpoint
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TunedModelRef: TunedModel Reference for legacy model
// migration.
type GoogleCloudAiplatformV1TunedModelRef struct {
	// PipelineJob: Support migration from tuning job list page, from bison model
	// to gemini model.
	PipelineJob string `json:"pipelineJob,omitempty"`
	// TunedModel: Support migration from model registry.
	TunedModel string `json:"tunedModel,omitempty"`
	// TuningJob: Support migration from tuning job list page, from
	// gemini-1.0-pro-002 to 1.5 and above.
	TuningJob string `json:"tuningJob,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PipelineJob") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PipelineJob") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TunedModelRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TunedModelRef
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TuningDataStats: The tuning data statistic values for
// TuningJob.
type GoogleCloudAiplatformV1TuningDataStats struct {
	// PreferenceOptimizationDataStats: Output only. Statistics for preference
	// optimization.
	PreferenceOptimizationDataStats *GoogleCloudAiplatformV1PreferenceOptimizationDataStats `json:"preferenceOptimizationDataStats,omitempty"`
	// SupervisedTuningDataStats: The SFT Tuning data stats.
	SupervisedTuningDataStats *GoogleCloudAiplatformV1SupervisedTuningDataStats `json:"supervisedTuningDataStats,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "PreferenceOptimizationDataStats") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PreferenceOptimizationDataStats")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TuningDataStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TuningDataStats
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TuningJob: Represents a TuningJob that runs with
// Google owned models.
type GoogleCloudAiplatformV1TuningJob struct {
	// BaseModel: The base model that is being tuned. See Supported models
	// (https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/tuning#supported_models).
	BaseModel string `json:"baseModel,omitempty"`
	// CreateTime: Output only. Time when the TuningJob was created.
	CreateTime string `json:"createTime,omitempty"`
	// Description: Optional. The description of the TuningJob.
	Description string `json:"description,omitempty"`
	// EncryptionSpec: Customer-managed encryption key options for a TuningJob. If
	// this is set, then all resources created by the TuningJob will be encrypted
	// with the provided encryption key.
	EncryptionSpec *GoogleCloudAiplatformV1EncryptionSpec `json:"encryptionSpec,omitempty"`
	// EndTime: Output only. Time when the TuningJob entered any of the following
	// JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`,
	// `JOB_STATE_EXPIRED`.
	EndTime string `json:"endTime,omitempty"`
	// Error: Output only. Only populated when job's state is `JOB_STATE_FAILED` or
	// `JOB_STATE_CANCELLED`.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// EvaluateDatasetRuns: Output only. Evaluation runs for the Tuning Job.
	EvaluateDatasetRuns []*GoogleCloudAiplatformV1EvaluateDatasetRun `json:"evaluateDatasetRuns,omitempty"`
	// Experiment: Output only. The Experiment associated with this TuningJob.
	Experiment string `json:"experiment,omitempty"`
	// Labels: Optional. The labels with user-defined metadata to organize
	// TuningJob and generated resources such as Model and Endpoint. 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 `json:"labels,omitempty"`
	// Name: Output only. Identifier. Resource name of a TuningJob. Format:
	// `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
	Name string `json:"name,omitempty"`
	// PreTunedModel: The pre-tuned model for continuous tuning.
	PreTunedModel *GoogleCloudAiplatformV1PreTunedModel `json:"preTunedModel,omitempty"`
	// PreferenceOptimizationSpec: Tuning Spec for Preference Optimization.
	PreferenceOptimizationSpec *GoogleCloudAiplatformV1PreferenceOptimizationSpec `json:"preferenceOptimizationSpec,omitempty"`
	// ServiceAccount: The service account that the tuningJob workload runs as. If
	// not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project
	// will be used. See
	// https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent
	// Users starting the pipeline must have the `iam.serviceAccounts.actAs`
	// permission on this service account.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// StartTime: Output only. Time when the TuningJob for the first time entered
	// the `JOB_STATE_RUNNING` state.
	StartTime string `json:"startTime,omitempty"`
	// State: Output only. The detailed state of the job.
	//
	// Possible values:
	//   "JOB_STATE_UNSPECIFIED" - The job state is unspecified.
	//   "JOB_STATE_QUEUED" - The job has been just created or resumed and
	// processing has not yet begun.
	//   "JOB_STATE_PENDING" - The service is preparing to run the job.
	//   "JOB_STATE_RUNNING" - The job is in progress.
	//   "JOB_STATE_SUCCEEDED" - The job completed successfully.
	//   "JOB_STATE_FAILED" - The job failed.
	//   "JOB_STATE_CANCELLING" - 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`.
	//   "JOB_STATE_CANCELLED" - The job has been cancelled.
	//   "JOB_STATE_PAUSED" - The job has been stopped, and can be resumed.
	//   "JOB_STATE_EXPIRED" - The job has expired.
	//   "JOB_STATE_UPDATING" - The job is being updated. Only jobs in the
	// `RUNNING` state can be updated. After updating, the job goes back to the
	// `RUNNING` state.
	//   "JOB_STATE_PARTIALLY_SUCCEEDED" - The job is partially succeeded, some
	// results may be missing due to errors.
	State string `json:"state,omitempty"`
	// SupervisedTuningSpec: Tuning Spec for Supervised Fine Tuning.
	SupervisedTuningSpec *GoogleCloudAiplatformV1SupervisedTuningSpec `json:"supervisedTuningSpec,omitempty"`
	// TunedModel: Output only. The tuned model resources associated with this
	// TuningJob.
	TunedModel *GoogleCloudAiplatformV1TunedModel `json:"tunedModel,omitempty"`
	// TunedModelDisplayName: Optional. The display name of the TunedModel. The
	// name can be up to 128 characters long and can consist of any UTF-8
	// characters. For continuous tuning, tuned_model_display_name will by default
	// use the same display name as the pre-tuned model. If a new display name is
	// provided, the tuning job will create a new model instead of a new version.
	TunedModelDisplayName string `json:"tunedModelDisplayName,omitempty"`
	// TuningDataStats: Output only. The tuning data statistics associated with
	// this TuningJob.
	TuningDataStats *GoogleCloudAiplatformV1TuningDataStats `json:"tuningDataStats,omitempty"`
	// UpdateTime: Output only. Time when the TuningJob was most recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BaseModel") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaseModel") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1TuningJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TuningJob
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UndeployIndexOperationMetadata: Runtime operation
// information for IndexEndpointService.UndeployIndex.
type GoogleCloudAiplatformV1UndeployIndexOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UndeployIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployIndexOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UndeployIndexRequest: Request message for
// IndexEndpointService.UndeployIndex.
type GoogleCloudAiplatformV1UndeployIndexRequest struct {
	// DeployedIndexId: Required. The ID of the DeployedIndex to be undeployed from
	// the IndexEndpoint.
	DeployedIndexId string `json:"deployedIndexId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedIndexId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedIndexId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UndeployIndexRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployIndexRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UndeployIndexResponse: Response message for
// IndexEndpointService.UndeployIndex.
type GoogleCloudAiplatformV1UndeployIndexResponse struct {
}

// GoogleCloudAiplatformV1UndeployModelOperationMetadata: Runtime operation
// information for EndpointService.UndeployModel.
type GoogleCloudAiplatformV1UndeployModelOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UndeployModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployModelOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UndeployModelRequest: Request message for
// EndpointService.UndeployModel.
type GoogleCloudAiplatformV1UndeployModelRequest struct {
	// DeployedModelId: Required. The ID of the DeployedModel to be undeployed from
	// the Endpoint.
	DeployedModelId string `json:"deployedModelId,omitempty"`
	// TrafficSplit: If this field is provided, then the Endpoint's 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]int64 `json:"trafficSplit,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeployedModelId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeployedModelId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UndeployModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployModelRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UndeployModelResponse: Response message for
// EndpointService.UndeployModel.
type GoogleCloudAiplatformV1UndeployModelResponse struct {
}

// GoogleCloudAiplatformV1UnmanagedContainerModel: Contains model information
// necessary to perform batch prediction without requiring a full model import.
type GoogleCloudAiplatformV1UnmanagedContainerModel struct {
	// ArtifactUri: The path to the directory containing the Model artifact and any
	// of its supporting files.
	ArtifactUri string `json:"artifactUri,omitempty"`
	// ContainerSpec: Input only. The specification of the container that is to be
	// used when deploying this Model.
	ContainerSpec *GoogleCloudAiplatformV1ModelContainerSpec `json:"containerSpec,omitempty"`
	// PredictSchemata: Contains the schemata used in Model's predictions and
	// explanations
	PredictSchemata *GoogleCloudAiplatformV1PredictSchemata `json:"predictSchemata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArtifactUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArtifactUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UnmanagedContainerModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UnmanagedContainerModel
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata:
// Runtime operation information for UpdateDeploymentResourcePool method.
type GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest: Request message for
// EndpointService.UpdateEndpointLongRunning.
type GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest struct {
	// Endpoint: Required. The Endpoint which replaces the resource on the server.
	// Currently we only support updating the `client_connection_config` field, all
	// the other fields' update will be blocked.
	Endpoint *GoogleCloudAiplatformV1Endpoint `json:"endpoint,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Endpoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Endpoint") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata: Runtime
// operation information for ModelService.UpdateExplanationDataset.
type GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateExplanationDatasetRequest: Request message for
// ModelService.UpdateExplanationDataset.
type GoogleCloudAiplatformV1UpdateExplanationDatasetRequest struct {
	// Examples: The example config containing the location of the dataset.
	Examples *GoogleCloudAiplatformV1Examples `json:"examples,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Examples") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Examples") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateExplanationDatasetRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateExplanationDatasetRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateExplanationDatasetResponse: Response message of
// ModelService.UpdateExplanationDataset operation.
type GoogleCloudAiplatformV1UpdateExplanationDatasetResponse struct {
}

// GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata: Details of
// operations that perform update FeatureGroup.
type GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata struct {
	// GenericMetadata: Operation metadata for FeatureGroup.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata: Details of
// operations that perform update FeatureOnlineStore.
type GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata struct {
	// GenericMetadata: Operation metadata for FeatureOnlineStore.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateFeatureOperationMetadata: Details of operations
// that perform update Feature.
type GoogleCloudAiplatformV1UpdateFeatureOperationMetadata struct {
	// GenericMetadata: Operation metadata for Feature Update.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateFeatureOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateFeatureOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata: Details of
// operations that perform update FeatureView.
type GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata struct {
	// GenericMetadata: Operation metadata for FeatureView Update.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata: Details of
// operations that perform update Featurestore.
type GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata struct {
	// GenericMetadata: Operation metadata for Featurestore.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateIndexOperationMetadata: Runtime operation
// information for IndexService.UpdateIndex.
type GoogleCloudAiplatformV1UpdateIndexOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// NearestNeighborSearchOperationMetadata: The operation metadata with regard
	// to Matching Engine Index operation.
	NearestNeighborSearchOperationMetadata *GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata `json:"nearestNeighborSearchOperationMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateIndexOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata:
// Runtime operation information for
// JobService.UpdateModelDeploymentMonitoringJob.
type GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata: Details of
// operations that perform update PersistentResource.
type GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata struct {
	// GenericMetadata: Operation metadata for PersistentResource.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ProgressMessage: Progress Message for Update LRO
	ProgressMessage string `json:"progressMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata: Runtime
// operation metadata for SpecialistPoolService.UpdateSpecialistPool.
type GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// SpecialistPool: Output only. The name of the SpecialistPool to which the
	// specialists are being added. Format:
	// `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_po
	// ol}`
	SpecialistPool string `json:"specialistPool,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata: Details of
// operations that perform update Tensorboard.
type GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata struct {
	// GenericMetadata: Operation metadata for Tensorboard.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata: Metadata
// information for NotebookService.UpgradeNotebookRuntime.
type GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata struct {
	// GenericMetadata: The operation generic information.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ProgressMessage: A human-readable message that shows the intermediate
	// progress details of NotebookRuntime.
	ProgressMessage string `json:"progressMessage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest: Request message for
// NotebookService.UpgradeNotebookRuntime.
type GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest struct {
}

// GoogleCloudAiplatformV1UploadModelOperationMetadata: Details of
// ModelService.UploadModel operation.
type GoogleCloudAiplatformV1UploadModelOperationMetadata struct {
	// GenericMetadata: The common part of the operation metadata.
	GenericMetadata *GoogleCloudAiplatformV1GenericOperationMetadata `json:"genericMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GenericMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GenericMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UploadModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadModelOperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UploadModelRequest: Request message for
// ModelService.UploadModel.
type GoogleCloudAiplatformV1UploadModelRequest struct {
	// Model: Required. The Model to create.
	Model *GoogleCloudAiplatformV1Model `json:"model,omitempty"`
	// ModelId: 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 `json:"modelId,omitempty"`
	// ParentModel: Optional. The resource name of the model into which to upload
	// the version. Only specify this field when uploading a new version.
	ParentModel string `json:"parentModel,omitempty"`
	// ServiceAccount: 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 `json:"serviceAccount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Model") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UploadModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadModelRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UploadModelResponse: Response message of
// ModelService.UploadModel operation.
type GoogleCloudAiplatformV1UploadModelResponse struct {
	// Model: The name of the uploaded Model resource. Format:
	// `projects/{project}/locations/{location}/models/{model}`
	Model string `json:"model,omitempty"`
	// ModelVersionId: Output only. The version ID of the model that is uploaded.
	ModelVersionId string `json:"modelVersionId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Model") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UploadModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadModelResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UploadRagFileConfig: Config for uploading RagFile.
type GoogleCloudAiplatformV1UploadRagFileConfig struct {
	// RagFileTransformationConfig: Specifies the transformation config for
	// RagFiles.
	RagFileTransformationConfig *GoogleCloudAiplatformV1RagFileTransformationConfig `json:"ragFileTransformationConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "RagFileTransformationConfig") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagFileTransformationConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UploadRagFileConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadRagFileConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UploadRagFileRequest: Request message for
// VertexRagDataService.UploadRagFile.
type GoogleCloudAiplatformV1UploadRagFileRequest struct {
	// RagFile: Required. The RagFile to upload.
	RagFile *GoogleCloudAiplatformV1RagFile `json:"ragFile,omitempty"`
	// UploadRagFileConfig: Required. The config for the RagFiles to be uploaded
	// into the RagCorpus. VertexRagDataService.UploadRagFile.
	UploadRagFileConfig *GoogleCloudAiplatformV1UploadRagFileConfig `json:"uploadRagFileConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagFile") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagFile") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UploadRagFileRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadRagFileRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UploadRagFileResponse: Response message for
// VertexRagDataService.UploadRagFile.
type GoogleCloudAiplatformV1UploadRagFileResponse struct {
	// Error: The error that occurred while processing the RagFile.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// RagFile: The RagFile that had been uploaded into the RagCorpus.
	RagFile *GoogleCloudAiplatformV1RagFile `json:"ragFile,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Error") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UploadRagFileResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadRagFileResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpsertDatapointsRequest: Request message for
// IndexService.UpsertDatapoints
type GoogleCloudAiplatformV1UpsertDatapointsRequest struct {
	// Datapoints: A list of datapoints to be created/updated.
	Datapoints []*GoogleCloudAiplatformV1IndexDatapoint `json:"datapoints,omitempty"`
	// UpdateMask: 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 string `json:"updateMask,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Datapoints") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Datapoints") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UpsertDatapointsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpsertDatapointsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UpsertDatapointsResponse: Response message for
// IndexService.UpsertDatapoints
type GoogleCloudAiplatformV1UpsertDatapointsResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1UrlContext: Tool to support URL context.
type GoogleCloudAiplatformV1UrlContext struct {
}

// GoogleCloudAiplatformV1UrlContextMetadata: Metadata returned when the model
// uses the `url_context` tool to get information from a user-provided URL.
type GoogleCloudAiplatformV1UrlContextMetadata struct {
	// UrlMetadata: Output only. A list of URL metadata, with one entry for each
	// URL retrieved by the tool.
	UrlMetadata []*GoogleCloudAiplatformV1UrlMetadata `json:"urlMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UrlMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UrlMetadata") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UrlContextMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UrlContextMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UrlMetadata: The metadata for a single URL retrieval.
type GoogleCloudAiplatformV1UrlMetadata struct {
	// RetrievedUrl: The URL retrieved by the tool.
	RetrievedUrl string `json:"retrievedUrl,omitempty"`
	// UrlRetrievalStatus: The status of the URL retrieval.
	//
	// Possible values:
	//   "URL_RETRIEVAL_STATUS_UNSPECIFIED" - Default value. This value is unused.
	//   "URL_RETRIEVAL_STATUS_SUCCESS" - The URL was retrieved successfully.
	//   "URL_RETRIEVAL_STATUS_ERROR" - The URL retrieval failed.
	UrlRetrievalStatus string `json:"urlRetrievalStatus,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RetrievedUrl") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RetrievedUrl") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UrlMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UrlMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UsageMetadata: Usage metadata about the content
// generation request and response. This message provides a detailed breakdown
// of token usage and other relevant metrics.
type GoogleCloudAiplatformV1UsageMetadata struct {
	// CacheTokensDetails: Output only. A detailed breakdown of the token count for
	// each modality in the cached content.
	CacheTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"cacheTokensDetails,omitempty"`
	// CachedContentTokenCount: Output only. The number of tokens in the cached
	// content that was used for this request.
	CachedContentTokenCount int64 `json:"cachedContentTokenCount,omitempty"`
	// CandidatesTokenCount: The total number of tokens in the generated
	// candidates.
	CandidatesTokenCount int64 `json:"candidatesTokenCount,omitempty"`
	// CandidatesTokensDetails: Output only. A detailed breakdown of the token
	// count for each modality in the generated candidates.
	CandidatesTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"candidatesTokensDetails,omitempty"`
	// PromptTokenCount: The total number of tokens in the prompt. This includes
	// any text, images, or other media provided in the request. When
	// `cached_content` is set, this also includes the number of tokens in the
	// cached content.
	PromptTokenCount int64 `json:"promptTokenCount,omitempty"`
	// PromptTokensDetails: Output only. A detailed breakdown of the token count
	// for each modality in the prompt.
	PromptTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"promptTokensDetails,omitempty"`
	// ThoughtsTokenCount: Output only. The number of tokens that were part of the
	// model's generated "thoughts" output, if applicable.
	ThoughtsTokenCount int64 `json:"thoughtsTokenCount,omitempty"`
	// ToolUsePromptTokenCount: Output only. The number of tokens in the results
	// from tool executions, which are provided back to the model as input, if
	// applicable.
	ToolUsePromptTokenCount int64 `json:"toolUsePromptTokenCount,omitempty"`
	// ToolUsePromptTokensDetails: Output only. A detailed breakdown by modality of
	// the token counts from the results of tool executions, which are provided
	// back to the model as input.
	ToolUsePromptTokensDetails []*GoogleCloudAiplatformV1ModalityTokenCount `json:"toolUsePromptTokensDetails,omitempty"`
	// TotalTokenCount: The total number of tokens for the entire request. This is
	// the sum of `prompt_token_count`, `candidates_token_count`,
	// `tool_use_prompt_token_count`, and `thoughts_token_count`.
	TotalTokenCount int64 `json:"totalTokenCount,omitempty"`
	// TrafficType: Output only. The traffic type for this request.
	//
	// Possible values:
	//   "TRAFFIC_TYPE_UNSPECIFIED" - Unspecified request traffic type.
	//   "ON_DEMAND" - Type for Pay-As-You-Go traffic.
	//   "ON_DEMAND_PRIORITY" - Type for Priority Pay-As-You-Go traffic.
	//   "ON_DEMAND_FLEX" - Type for Flex traffic.
	//   "PROVISIONED_THROUGHPUT" - Type for Provisioned Throughput traffic.
	TrafficType string `json:"trafficType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CacheTokensDetails") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CacheTokensDetails") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UsageMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UsageMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1UserActionReference: References an API call. It
// contains more information about long running operation and Jobs that are
// triggered by the API call.
type GoogleCloudAiplatformV1UserActionReference struct {
	// DataLabelingJob: For API calls that start a LabelingJob. Resource name of
	// the LabelingJob. Format:
	// `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}
	// `
	DataLabelingJob string `json:"dataLabelingJob,omitempty"`
	// Method: The method name of the API RPC call. For example,
	// "/google.cloud.aiplatform.{apiVersion}.DatasetService.CreateDataset"
	Method string `json:"method,omitempty"`
	// Operation: For API calls that return a long running operation. Resource name
	// of the long running operation. Format:
	// `projects/{project}/locations/{location}/operations/{operation}`
	Operation string `json:"operation,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataLabelingJob") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataLabelingJob") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1UserActionReference) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UserActionReference
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1Value: Value is the value of the field.
type GoogleCloudAiplatformV1Value struct {
	// DoubleValue: A double value.
	DoubleValue float64 `json:"doubleValue,omitempty"`
	// IntValue: An integer value.
	IntValue int64 `json:"intValue,omitempty,string"`
	// StringValue: A string value.
	StringValue string `json:"stringValue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DoubleValue") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DoubleValue") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1Value) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Value
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1Value) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1Value
	var s1 struct {
		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DoubleValue = float64(s1.DoubleValue)
	return nil
}

// GoogleCloudAiplatformV1VertexAISearch: Retrieve from Vertex AI Search
// datastore or engine for grounding. datastore and engine are mutually
// exclusive. See https://cloud.google.com/products/agent-builder
type GoogleCloudAiplatformV1VertexAISearch struct {
	// DataStoreSpecs: Specifications that define the specific DataStores to be
	// searched, along with configurations for those data stores. This is only
	// considered for Engines with multiple data stores. It should only be set if
	// engine is used.
	DataStoreSpecs []*GoogleCloudAiplatformV1VertexAISearchDataStoreSpec `json:"dataStoreSpecs,omitempty"`
	// Datastore: Optional. Fully-qualified Vertex AI Search data store resource
	// ID. Format:
	// `projects/{project}/locations/{location}/collections/{collection}/dataStores/
	// {dataStore}`
	Datastore string `json:"datastore,omitempty"`
	// Engine: Optional. Fully-qualified Vertex AI Search engine resource ID.
	// Format:
	// `projects/{project}/locations/{location}/collections/{collection}/engines/{en
	// gine}`
	Engine string `json:"engine,omitempty"`
	// Filter: Optional. Filter strings to be passed to the search API.
	Filter string `json:"filter,omitempty"`
	// MaxResults: Optional. Number of search results to return per query. The
	// default value is 10. The maximumm allowed value is 10.
	MaxResults int64 `json:"maxResults,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataStoreSpecs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataStoreSpecs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VertexAISearch) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexAISearch
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1VertexAISearchDataStoreSpec: Define data stores
// within engine to filter on in a search call and configurations for those
// data stores. For more information, see
// https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
type GoogleCloudAiplatformV1VertexAISearchDataStoreSpec struct {
	// DataStore: Full resource name of DataStore, such as Format:
	// `projects/{project}/locations/{location}/collections/{collection}/dataStores/
	// {dataStore}`
	DataStore string `json:"dataStore,omitempty"`
	// Filter: Optional. Filter specification to filter documents in the data store
	// specified by data_store field. For more information on filtering, see
	// Filtering
	// (https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
	Filter string `json:"filter,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataStore") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataStore") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VertexAISearchDataStoreSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexAISearchDataStoreSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1VertexAiSearchConfig: Config for the Vertex AI
// Search.
type GoogleCloudAiplatformV1VertexAiSearchConfig struct {
	// ServingConfig: Vertex AI Search Serving Config resource full name. For
	// example,
	// `projects/{project}/locations/{location}/collections/{collection}/engines/{en
	// gine}/servingConfigs/{serving_config}` or
	// `projects/{project}/locations/{location}/collections/{collection}/dataStores/
	// {data_store}/servingConfigs/{serving_config}`.
	ServingConfig string `json:"servingConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ServingConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ServingConfig") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VertexAiSearchConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexAiSearchConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1VertexMultimodalDatasetDestination: The details for a
// Vertex Multimodal Dataset output.
type GoogleCloudAiplatformV1VertexMultimodalDatasetDestination struct {
	// BigqueryDestination: Optional. The destination of the underlying BigQuery
	// table that will be created for the output Multimodal Dataset. If not
	// specified, the BigQuery table will be created in a default BigQuery dataset.
	BigqueryDestination *GoogleCloudAiplatformV1BigQueryDestination `json:"bigqueryDestination,omitempty"`
	// DisplayName: Optional. Display name of the output dataset.
	DisplayName string `json:"displayName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BigqueryDestination") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BigqueryDestination") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VertexMultimodalDatasetDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexMultimodalDatasetDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1VertexMultimodalDatasetSource: The Vertex Multimodal
// Dataset for the input content.
type GoogleCloudAiplatformV1VertexMultimodalDatasetSource struct {
	// DatasetName: Required. The resource name of the Vertex Dataset. Format:
	// `projects/{project}/locations/{location}/datasets/{dataset}`
	DatasetName string `json:"datasetName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DatasetName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DatasetName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VertexMultimodalDatasetSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexMultimodalDatasetSource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1VertexRagStore: Retrieve from Vertex RAG Store for
// grounding.
type GoogleCloudAiplatformV1VertexRagStore struct {
	// RagResources: Optional. The representation of the rag source. It can be used
	// to specify corpus only or ragfiles. Currently only support one corpus or
	// multiple files from one corpus. In the future we may open up multiple
	// corpora support.
	RagResources []*GoogleCloudAiplatformV1VertexRagStoreRagResource `json:"ragResources,omitempty"`
	// RagRetrievalConfig: Optional. The retrieval config for the Rag query.
	RagRetrievalConfig *GoogleCloudAiplatformV1RagRetrievalConfig `json:"ragRetrievalConfig,omitempty"`
	// SimilarityTopK: Optional. Number of top k results to return from the
	// selected corpora.
	SimilarityTopK int64 `json:"similarityTopK,omitempty"`
	// VectorDistanceThreshold: Optional. Only return results with vector distance
	// smaller than the threshold.
	VectorDistanceThreshold float64 `json:"vectorDistanceThreshold,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagResources") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagResources") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VertexRagStore) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexRagStore
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1VertexRagStore) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1VertexRagStore
	var s1 struct {
		VectorDistanceThreshold gensupport.JSONFloat64 `json:"vectorDistanceThreshold"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.VectorDistanceThreshold = float64(s1.VectorDistanceThreshold)
	return nil
}

// GoogleCloudAiplatformV1VertexRagStoreRagResource: The definition of the Rag
// resource.
type GoogleCloudAiplatformV1VertexRagStoreRagResource struct {
	// RagCorpus: Optional. RagCorpora resource name. Format:
	// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
	RagCorpus string `json:"ragCorpus,omitempty"`
	// RagFileIds: Optional. rag_file_id. The files should be in the same
	// rag_corpus set in rag_corpus field.
	RagFileIds []string `json:"ragFileIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RagCorpus") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RagCorpus") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VertexRagStoreRagResource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexRagStoreRagResource
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1VideoMetadata: Provides metadata for a video,
// including the start and end offsets for clipping and the frame rate.
type GoogleCloudAiplatformV1VideoMetadata struct {
	// EndOffset: Optional. The end offset of the video.
	EndOffset string `json:"endOffset,omitempty"`
	// Fps: Optional. The frame rate of the video sent to the model. If not
	// specified, the default value is 1.0. The valid range is (0.0, 24.0].
	Fps float64 `json:"fps,omitempty"`
	// StartOffset: Optional. The start offset of the video.
	StartOffset string `json:"startOffset,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndOffset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndOffset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VideoMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VideoMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleCloudAiplatformV1VideoMetadata) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleCloudAiplatformV1VideoMetadata
	var s1 struct {
		Fps gensupport.JSONFloat64 `json:"fps"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Fps = float64(s1.Fps)
	return nil
}

// GoogleCloudAiplatformV1VoiceConfig: Configuration for a voice.
type GoogleCloudAiplatformV1VoiceConfig struct {
	// PrebuiltVoiceConfig: The configuration for a prebuilt voice.
	PrebuiltVoiceConfig *GoogleCloudAiplatformV1PrebuiltVoiceConfig `json:"prebuiltVoiceConfig,omitempty"`
	// ReplicatedVoiceConfig: Optional. The configuration for a replicated voice.
	// This enables users to replicate a voice from an audio sample.
	ReplicatedVoiceConfig *GoogleCloudAiplatformV1ReplicatedVoiceConfig `json:"replicatedVoiceConfig,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PrebuiltVoiceConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PrebuiltVoiceConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1VoiceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VoiceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1WorkerPoolSpec: Represents the spec of a worker pool
// in a job.
type GoogleCloudAiplatformV1WorkerPoolSpec struct {
	// ContainerSpec: The custom container task.
	ContainerSpec *GoogleCloudAiplatformV1ContainerSpec `json:"containerSpec,omitempty"`
	// DiskSpec: Disk spec.
	DiskSpec *GoogleCloudAiplatformV1DiskSpec `json:"diskSpec,omitempty"`
	// LustreMounts: Optional. List of Lustre mounts.
	LustreMounts []*GoogleCloudAiplatformV1LustreMount `json:"lustreMounts,omitempty"`
	// MachineSpec: Optional. Immutable. The specification of a single machine.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// NfsMounts: Optional. List of NFS mount spec.
	NfsMounts []*GoogleCloudAiplatformV1NfsMount `json:"nfsMounts,omitempty"`
	// PythonPackageSpec: The Python packaged task.
	PythonPackageSpec *GoogleCloudAiplatformV1PythonPackageSpec `json:"pythonPackageSpec,omitempty"`
	// ReplicaCount: Optional. The number of worker replicas to use for this worker
	// pool.
	ReplicaCount int64 `json:"replicaCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ContainerSpec") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContainerSpec") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1WorkerPoolSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WorkerPoolSpec
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1WriteFeatureValuesPayload: Contains Feature values to
// be written for a specific entity.
type GoogleCloudAiplatformV1WriteFeatureValuesPayload struct {
	// EntityId: Required. The ID of the entity.
	EntityId string `json:"entityId,omitempty"`
	// FeatureValues: 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]GoogleCloudAiplatformV1FeatureValue `json:"featureValues,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EntityId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EntityId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1WriteFeatureValuesPayload) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteFeatureValuesPayload
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1WriteFeatureValuesRequest: Request message for
// FeaturestoreOnlineServingService.WriteFeatureValues.
type GoogleCloudAiplatformV1WriteFeatureValuesRequest struct {
	// Payloads: Required. The entities to be written. Up to 100,000 feature values
	// can be written across all `payloads`.
	Payloads []*GoogleCloudAiplatformV1WriteFeatureValuesPayload `json:"payloads,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Payloads") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Payloads") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1WriteFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteFeatureValuesRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1WriteFeatureValuesResponse: Response message for
// FeaturestoreOnlineServingService.WriteFeatureValues.
type GoogleCloudAiplatformV1WriteFeatureValuesResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest: Request
// message for TensorboardService.WriteTensorboardExperimentData.
type GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest struct {
	// WriteRunDataRequests: Required. Requests containing per-run
	// TensorboardTimeSeries data to write.
	WriteRunDataRequests []*GoogleCloudAiplatformV1WriteTensorboardRunDataRequest `json:"writeRunDataRequests,omitempty"`
	// ForceSendFields is a list of field names (e.g. "WriteRunDataRequests") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "WriteRunDataRequests") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse: Response
// message for TensorboardService.WriteTensorboardExperimentData.
type GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1WriteTensorboardRunDataRequest: Request message for
// TensorboardService.WriteTensorboardRunData.
type GoogleCloudAiplatformV1WriteTensorboardRunDataRequest struct {
	// TensorboardRun: Required. The resource name of the TensorboardRun to write
	// data to. Format:
	// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experimen
	// ts/{experiment}/runs/{run}`
	TensorboardRun string `json:"tensorboardRun,omitempty"`
	// TimeSeriesData: 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 []*GoogleCloudAiplatformV1TimeSeriesData `json:"timeSeriesData,omitempty"`
	// ForceSendFields is a list of field names (e.g. "TensorboardRun") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TensorboardRun") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1WriteTensorboardRunDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteTensorboardRunDataRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1WriteTensorboardRunDataResponse: Response message for
// TensorboardService.WriteTensorboardRunData.
type GoogleCloudAiplatformV1WriteTensorboardRunDataResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleCloudAiplatformV1XraiAttribution: 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 GoogleCloudAiplatformV1XraiAttribution struct {
	// BlurBaselineConfig: 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 *GoogleCloudAiplatformV1BlurBaselineConfig `json:"blurBaselineConfig,omitempty"`
	// SmoothGradConfig: 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 *GoogleCloudAiplatformV1SmoothGradConfig `json:"smoothGradConfig,omitempty"`
	// StepCount: 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 int64 `json:"stepCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlurBaselineConfig") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlurBaselineConfig") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudAiplatformV1XraiAttribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1XraiAttribution
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudLocationListLocationsResponse: The response message for
// Locations.ListLocations.
type GoogleCloudLocationListLocationsResponse struct {
	// Locations: A list of locations that matches the specified filter in the
	// request.
	Locations []*GoogleCloudLocationLocation `json:"locations,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Locations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Locations") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudLocationListLocationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudLocationListLocationsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudLocationLocation: A resource that represents a Google Cloud
// location.
type GoogleCloudLocationLocation struct {
	// DisplayName: The friendly name for this location, typically a nearby city
	// name. For example, "Tokyo".
	DisplayName string `json:"displayName,omitempty"`
	// Labels: Cross-service attributes for the location. For example
	// {"cloud.googleapis.com/region": "us-east1"}
	Labels map[string]string `json:"labels,omitempty"`
	// LocationId: The canonical id for this location. For example: "us-east1".
	LocationId string `json:"locationId,omitempty"`
	// Metadata: Service-specific metadata. For example the available capacity at
	// the given location.
	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
	// Name: Resource name for the location, which may vary between
	// implementations. For example:
	// "projects/example-project/locations/us-east1"
	Name string `json:"name,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudLocationLocation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudLocationLocation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleIamV1Binding: Associates `members`, or principals, with a `role`.
type GoogleIamV1Binding struct {
	// Condition: The condition that is associated with this binding. If the
	// condition evaluates to `true`, then this binding applies to the current
	// request. If the condition evaluates to `false`, then this binding does not
	// apply to the current request. However, a different role binding might grant
	// the same role to one or more of the principals in this binding. To learn
	// which resources support conditions in their IAM policies, see the IAM
	// documentation
	// (https://cloud.google.com/iam/help/conditions/resource-policies).
	Condition *GoogleTypeExpr `json:"condition,omitempty"`
	// Members: Specifies the principals requesting access for a Google Cloud
	// resource. `members` can have the following values: * `allUsers`: A special
	// identifier that represents anyone who is on the internet; with or without a
	// Google account. * `allAuthenticatedUsers`: A special identifier that
	// represents anyone who is authenticated with a Google account or a service
	// account. Does not include identities that come from external identity
	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
	// address that represents a specific Google account. For example,
	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
	// represents a Google service account. For example,
	// `my-other-app@appspot.gserviceaccount.com`. *
	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
	// identifier for a Kubernetes service account
	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
	// `group:{emailid}`: An email address that represents a Google group. For
	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
	// (primary) that represents all the users of that domain. For example,
	// `google.com` or `example.com`. *
	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
	// ject/{subject_attribute_value}`: A single identity in a workforce identity
	// pool. *
	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
	// group/{group_id}`: All workforce identities in a group. *
	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
	// a specific attribute value. *
	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
	// *`: All identities in a workforce identity pool. *
	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
	// identity in a workload identity pool. *
	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
	// group. *
	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
	// `: All identities in a workload identity pool with a certain attribute. *
	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
	// unique identifier) representing a user that has been recently deleted. For
	// example, `alice@example.com?uid=123456789012345678901`. If the user is
	// recovered, this value reverts to `user:{emailid}` and the recovered user
	// retains the role in the binding. *
	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
	// unique identifier) representing a service account that has been recently
	// deleted. For example,
	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
	// service account is undeleted, this value reverts to
	// `serviceAccount:{emailid}` and the undeleted service account retains the
	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
	// address (plus unique identifier) representing a Google group that has been
	// recently deleted. For example,
	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
	// this value reverts to `group:{emailid}` and the recovered group retains the
	// role in the binding. *
	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
	// workforce identity pool. For example,
	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
	// ol-id/subject/my-subject-attribute-value`.
	Members []string `json:"members,omitempty"`
	// Role: Role that is assigned to the list of `members`, or principals. For
	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
	// of the IAM roles and permissions, see the IAM documentation
	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
	// available pre-defined roles, see here
	// (https://cloud.google.com/iam/docs/understanding-roles).
	Role string `json:"role,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Condition") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Condition") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleIamV1Binding) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1Binding
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleIamV1Policy: An Identity and Access Management (IAM) policy, which
// specifies access controls for Google Cloud resources. A `Policy` is a
// collection of `bindings`. A `binding` binds one or more `members`, or
// principals, to a single `role`. Principals can be user accounts, service
// accounts, Google groups, and domains (such as G Suite). A `role` is a named
// list of permissions; each `role` can be an IAM predefined role or a
// user-created custom role. For some types of Google Cloud resources, a
// `binding` can also specify a `condition`, which is a logical expression that
// allows access to a resource only if the expression evaluates to `true`. A
// condition can add constraints based on attributes of the request, the
// resource, or both. To learn which resources support conditions in their IAM
// policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
// example:** ``` { "bindings": [ { "role":
// "roles/resourcemanager.organizationAdmin", "members": [
// "user:mike@example.com", "group:admins@example.com", "domain:google.com",
// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
// "roles/resourcemanager.organizationViewer", "members": [
// "user:eve@example.com" ], "condition": { "title": "expirable access",
// "description": "Does not grant access after Sep 2020", "expression":
// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
// members: - user:mike@example.com - group:admins@example.com -
// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
// role: roles/resourcemanager.organizationAdmin - members: -
// user:eve@example.com role: roles/resourcemanager.organizationViewer
// condition: title: expirable access description: Does not grant access after
// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
// see the IAM documentation (https://cloud.google.com/iam/docs/).
type GoogleIamV1Policy struct {
	// Bindings: Associates a list of `members`, or principals, with a `role`.
	// Optionally, may specify a `condition` that determines how and when the
	// `bindings` are applied. Each of the `bindings` must contain at least one
	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
	// up to 250 of these principals can be Google groups. Each occurrence of a
	// principal counts towards these limits. For example, if the `bindings` grant
	// 50 different roles to `user:alice@example.com`, and not to any other
	// principal, then you can add another 1,450 principals to the `bindings` in
	// the `Policy`.
	Bindings []*GoogleIamV1Binding `json:"bindings,omitempty"`
	// Etag: `etag` is used for optimistic concurrency control as a way to help
	// prevent simultaneous updates of a policy from overwriting each other. It is
	// strongly suggested that systems make use of the `etag` in the
	// read-modify-write cycle to perform policy updates in order to avoid race
	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
	// systems are expected to put that etag in the request to `setIamPolicy` to
	// ensure that their change will be applied to the same version of the policy.
	// **Important:** If you use IAM Conditions, you must include the `etag` field
	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
	// you to overwrite a version `3` policy with a version `1` policy, and all of
	// the conditions in the version `3` policy are lost.
	Etag string `json:"etag,omitempty"`
	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
	// `3`. Requests that specify an invalid value are rejected. Any operation that
	// affects conditional role bindings must specify version `3`. This requirement
	// applies to the following operations: * Getting a policy that includes a
	// conditional role binding * Adding a conditional role binding to a policy *
	// Changing a conditional role binding in a policy * Removing any role binding,
	// with or without a condition, from a policy that includes conditions
	// **Important:** If you use IAM Conditions, you must include the `etag` field
	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
	// you to overwrite a version `3` policy with a version `1` policy, and all of
	// the conditions in the version `3` policy are lost. If a policy does not
	// include any conditions, operations on that policy may specify any valid
	// version or leave the field unset. To learn which resources support
	// conditions in their IAM policies, see the IAM documentation
	// (https://cloud.google.com/iam/help/conditions/resource-policies).
	Version int64 `json:"version,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Bindings") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Bindings") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleIamV1Policy) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1Policy
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleIamV1SetIamPolicyRequest: Request message for `SetIamPolicy` method.
type GoogleIamV1SetIamPolicyRequest struct {
	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
	// policy but certain Google Cloud services (such as Projects) might reject
	// them.
	Policy *GoogleIamV1Policy `json:"policy,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Policy") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleIamV1SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1SetIamPolicyRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleIamV1TestIamPermissionsResponse: Response message for
// `TestIamPermissions` method.
type GoogleIamV1TestIamPermissionsResponse struct {
	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
	// caller is allowed.
	Permissions []string `json:"permissions,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Permissions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Permissions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleIamV1TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1TestIamPermissionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleLongrunningListOperationsResponse: The response message for
// Operations.ListOperations.
type GoogleLongrunningListOperationsResponse struct {
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Operations: A list of operations that matches the specified filter in the
	// request.
	Operations []*GoogleLongrunningOperation `json:"operations,omitempty"`
	// Unreachable: Unordered list. Unreachable resources. Populated when the
	// request sets `ListOperationsRequest.return_partial_success` and reads across
	// collections. For example, when attempting to list all resources across all
	// supported locations.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleLongrunningListOperationsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleLongrunningOperation: This resource represents a long-running
// operation that is the result of a network API call.
type GoogleLongrunningOperation struct {
	// Done: If the value is `false`, it means the operation is still in progress.
	// If `true`, the operation is completed, and either `error` or `response` is
	// available.
	Done bool `json:"done,omitempty"`
	// Error: The error result of the operation in case of failure or cancellation.
	Error *GoogleRpcStatus `json:"error,omitempty"`
	// Metadata: Service-specific metadata associated with the operation. It
	// typically contains progress information and common metadata such as create
	// time. Some services might not provide such metadata. Any method that returns
	// a long-running operation should document the metadata type, if any.
	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
	// Name: The server-assigned name, which is only unique within the same service
	// that originally returns it. If you use the default HTTP mapping, the `name`
	// should be a resource name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Response: The normal, successful response of the operation. If the original
	// method returns no data on success, such as `Delete`, the response is
	// `google.protobuf.Empty`. If the original method is standard
	// `Get`/`Create`/`Update`, the response should be the resource. For other
	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
	// original method name. For example, if the original method name is
	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
	Response googleapi.RawMessage `json:"response,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Done") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleLongrunningOperation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleProtobufEmpty: A generic empty message that you can re-use to avoid
// defining duplicated empty messages in your APIs. A typical example is to use
// it as the request or the response type of an API method. For instance:
// service Foo { rpc Bar(google.protobuf.Empty) returns
// (google.protobuf.Empty); }
type GoogleProtobufEmpty struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// GoogleRpcStatus: The `Status` type defines a logical error model that is
// suitable for different programming environments, including REST APIs and RPC
// APIs. It is used by gRPC (https://github.com/grpc). Each `Status` message
// contains three pieces of data: error code, error message, and error details.
// You can find out more about this error model and how to work with it in the
// API Design Guide (https://cloud.google.com/apis/design/errors).
type GoogleRpcStatus struct {
	// Code: The status code, which should be an enum value of google.rpc.Code.
	Code int64 `json:"code,omitempty"`
	// Details: A list of messages that carry the error details. There is a common
	// set of message types for APIs to use.
	Details []googleapi.RawMessage `json:"details,omitempty"`
	// Message: A developer-facing error message, which should be in English. Any
	// user-facing error message should be localized and sent in the
	// google.rpc.Status.details field, or localized by the client.
	Message string `json:"message,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Code") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleRpcStatus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleRpcStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleTypeColor: Represents a color in the RGBA color space. This
// representation is designed for simplicity of conversion to and from color
// representations in various languages over compactness. For example, the
// fields of this representation can be trivially provided to the constructor
// of `java.awt.Color` in Java; it can also be trivially provided to UIColor's
// `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little
// work, it can be easily formatted into a CSS `rgba()` string in JavaScript.
// This reference page doesn't have information about the absolute color space
// that should be used to interpret the RGB value—for example, sRGB, Adobe
// RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB
// color space. When color equality needs to be decided, implementations,
// unless documented otherwise, treat two colors as equal if all their red,
// green, blue, and alpha values each differ by at most `1e-5`. Example (Java):
// import com.google.type.Color; // ... public static java.awt.Color
// fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ?
// protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color(
// protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); }
// public static Color toProto(java.awt.Color color) { float red = (float)
// color.getRed(); float green = (float) color.getGreen(); float blue = (float)
// color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder =
// Color .newBuilder() .setRed(red / denominator) .setGreen(green /
// denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if
// (alpha != 255) { result.setAlpha( FloatValue .newBuilder()
// .setValue(((float) alpha) / denominator) .build()); } return
// resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static
// UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float
// green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
// alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
// nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red
// green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color)
// { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green
// blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc]
// init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue];
// if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; }
// [result autorelease]; return result; } // ... Example (JavaScript): // ...
// var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red ||
// 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue
// || 0.0; var red = Math.floor(redFrac * 255); var green =
// Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if
// (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var
// alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green,
// blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(”);
// }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new
// Number((red << 16) | (green << 8) | blue); var hexString =
// rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
// resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) {
// resultBuilder.push('0'); } resultBuilder.push(hexString); return
// resultBuilder.join(”); }; // ...
type GoogleTypeColor struct {
	// Alpha: The fraction of this color that should be applied to the pixel. That
	// is, the final pixel color is defined by the equation: `pixel color = alpha *
	// (this color) + (1.0 - alpha) * (background color)` This means that a value
	// of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a
	// completely transparent color. This uses a wrapper message rather than a
	// simple float scalar so that it is possible to distinguish between a default
	// value and the value being unset. If omitted, this color object is rendered
	// as a solid color (as if the alpha value had been explicitly given a value of
	// 1.0).
	Alpha float64 `json:"alpha,omitempty"`
	// Blue: The amount of blue in the color as a value in the interval [0, 1].
	Blue float64 `json:"blue,omitempty"`
	// Green: The amount of green in the color as a value in the interval [0, 1].
	Green float64 `json:"green,omitempty"`
	// Red: The amount of red in the color as a value in the interval [0, 1].
	Red float64 `json:"red,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Alpha") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleTypeColor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeColor
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleTypeColor) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleTypeColor
	var s1 struct {
		Alpha gensupport.JSONFloat64 `json:"alpha"`
		Blue  gensupport.JSONFloat64 `json:"blue"`
		Green gensupport.JSONFloat64 `json:"green"`
		Red   gensupport.JSONFloat64 `json:"red"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Alpha = float64(s1.Alpha)
	s.Blue = float64(s1.Blue)
	s.Green = float64(s1.Green)
	s.Red = float64(s1.Red)
	return nil
}

// GoogleTypeDate: Represents a whole or partial calendar date, such as a
// birthday. The time of day and time zone are either specified elsewhere or
// are insignificant. The date is relative to the Gregorian Calendar. This can
// represent one of the following: * A full date, with non-zero year, month,
// and day values. * A month and day, with a zero year (for example, an
// anniversary). * A year on its own, with a zero month and a zero day. * A
// year and month, with a zero day (for example, a credit card expiration
// date). Related types: * google.type.TimeOfDay * google.type.DateTime *
// google.protobuf.Timestamp
type GoogleTypeDate struct {
	// Day: Day of a month. Must be from 1 to 31 and valid for the year and month,
	// or 0 to specify a year by itself or a year and month where the day isn't
	// significant.
	Day int64 `json:"day,omitempty"`
	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without
	// a month and day.
	Month int64 `json:"month,omitempty"`
	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date
	// without a year.
	Year int64 `json:"year,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Day") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleTypeDate) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeDate
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleTypeExpr: Represents a textual expression in the Common Expression
// Language (CEL) syntax. CEL is a C-like expression language. The syntax and
// semantics of CEL are documented at https://github.com/google/cel-spec.
// Example (Comparison): title: "Summary size limit" description: "Determines
// if a summary is less than 100 chars" expression: "document.summary.size() <
// 100" Example (Equality): title: "Requestor is owner" description:
// "Determines if requestor is the document owner" expression: "document.owner
// == request.auth.claims.email" Example (Logic): title: "Public documents"
// description: "Determine whether the document should be publicly visible"
// expression: "document.type != 'private' && document.type != 'internal'"
// Example (Data Manipulation): title: "Notification string" description:
// "Create a notification string with a timestamp." expression: "'New message
// received at ' + string(document.create_time)" The exact variables and
// functions that may be referenced within an expression are determined by the
// service that evaluates it. See the service documentation for additional
// information.
type GoogleTypeExpr struct {
	// Description: Optional. Description of the expression. This is a longer text
	// which describes the expression, e.g. when hovered over it in a UI.
	Description string `json:"description,omitempty"`
	// Expression: Textual representation of an expression in Common Expression
	// Language syntax.
	Expression string `json:"expression,omitempty"`
	// Location: Optional. String indicating the location of the expression for
	// error reporting, e.g. a file name and a position in the file.
	Location string `json:"location,omitempty"`
	// Title: Optional. Title for the expression, i.e. a short string describing
	// its purpose. This can be used e.g. in UIs which allow to enter the
	// expression.
	Title string `json:"title,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleTypeExpr) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeExpr
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleTypeInterval: Represents a time interval, encoded as a Timestamp start
// (inclusive) and a Timestamp end (exclusive). The start must be less than or
// equal to the end. When the start equals the end, the interval is empty
// (matches no time). When both start and end are unspecified, the interval
// matches any time.
type GoogleTypeInterval struct {
	// EndTime: Optional. Exclusive end of the interval. If specified, a Timestamp
	// matching this interval will have to be before the end.
	EndTime string `json:"endTime,omitempty"`
	// StartTime: Optional. Inclusive start of the interval. If specified, a
	// Timestamp matching this interval will have to be the same or after the
	// start.
	StartTime string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleTypeInterval) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeInterval
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleTypeLatLng: An object that represents a latitude/longitude pair. This
// is expressed as a pair of doubles to represent degrees latitude and degrees
// longitude. Unless specified otherwise, this object must conform to the WGS84
// standard. Values must be within normalized ranges.
type GoogleTypeLatLng struct {
	// Latitude: The latitude in degrees. It must be in the range [-90.0, +90.0].
	Latitude float64 `json:"latitude,omitempty"`
	// Longitude: The longitude in degrees. It must be in the range [-180.0,
	// +180.0].
	Longitude float64 `json:"longitude,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Latitude") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Latitude") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleTypeLatLng) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeLatLng
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *GoogleTypeLatLng) UnmarshalJSON(data []byte) error {
	type NoMethod GoogleTypeLatLng
	var s1 struct {
		Latitude  gensupport.JSONFloat64 `json:"latitude"`
		Longitude gensupport.JSONFloat64 `json:"longitude"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Latitude = float64(s1.Latitude)
	s.Longitude = float64(s1.Longitude)
	return nil
}

// GoogleTypeMoney: Represents an amount of money with its currency type.
type GoogleTypeMoney struct {
	// CurrencyCode: The three-letter currency code defined in ISO 4217.
	CurrencyCode string `json:"currencyCode,omitempty"`
	// Nanos: Number of nano (10^-9) units of the amount. The value must be between
	// -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos`
	// must be positive or zero. If `units` is zero, `nanos` can be positive, zero,
	// or negative. If `units` is negative, `nanos` must be negative or zero. For
	// example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
	Nanos int64 `json:"nanos,omitempty"`
	// Units: The whole units of the amount. For example if `currencyCode` is
	// "USD", then 1 unit is one US dollar.
	Units int64 `json:"units,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleTypeMoney) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeMoney
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type BatchPredictionJobsCreateCall struct {
	s                                         *Service
	googlecloudaiplatformv1batchpredictionjob *GoogleCloudAiplatformV1BatchPredictionJob
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Create: Creates a BatchPredictionJob. A BatchPredictionJob once created will
// right away be attempted to start.
func (r *BatchPredictionJobsService) Create(googlecloudaiplatformv1batchpredictionjob *GoogleCloudAiplatformV1BatchPredictionJob) *BatchPredictionJobsCreateCall {
	c := &BatchPredictionJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.googlecloudaiplatformv1batchpredictionjob = googlecloudaiplatformv1batchpredictionjob
	return c
}

// Parent sets the optional parameter "parent": Required. The resource name of
// the Location to create the BatchPredictionJob in. Format:
// `projects/{project}/locations/{location}`
func (c *BatchPredictionJobsCreateCall) Parent(parent string) *BatchPredictionJobsCreateCall {
	c.urlParams_.Set("parent", parent)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *BatchPredictionJobsCreateCall) Fields(s ...googleapi.Field) *BatchPredictionJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *BatchPredictionJobsCreateCall) Context(ctx context.Context) *BatchPredictionJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *BatchPredictionJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *BatchPredictionJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchpredictionjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/batchPredictionJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.batchPredictionJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.batchPredictionJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchPredictionJob.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *BatchPredictionJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchPredictionJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchPredictionJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.batchPredictionJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type BatchPredictionJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a BatchPredictionJob
//
//   - name: The name of the BatchPredictionJob resource. Format:
//     `projects/{project}/locations/{location}/batchPredictionJobs/{batch_predict
//     ion_job}`.
func (r *BatchPredictionJobsService) Get(name string) *BatchPredictionJobsGetCall {
	c := &BatchPredictionJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *BatchPredictionJobsGetCall) Fields(s ...googleapi.Field) *BatchPredictionJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *BatchPredictionJobsGetCall) IfNoneMatch(entityTag string) *BatchPredictionJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *BatchPredictionJobsGetCall) Context(ctx context.Context) *BatchPredictionJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *BatchPredictionJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *BatchPredictionJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.batchPredictionJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.batchPredictionJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchPredictionJob.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *BatchPredictionJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchPredictionJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchPredictionJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.batchPredictionJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type BatchPredictionJobsListCall struct {
	s            *Service
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists BatchPredictionJobs in a Location.
func (r *BatchPredictionJobsService) List() *BatchPredictionJobsListCall {
	c := &BatchPredictionJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *BatchPredictionJobsListCall) Filter(filter string) *BatchPredictionJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *BatchPredictionJobsListCall) PageSize(pageSize int64) *BatchPredictionJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via
// ListBatchPredictionJobsResponse.next_page_token of the previous
// JobService.ListBatchPredictionJobs call.
func (c *BatchPredictionJobsListCall) PageToken(pageToken string) *BatchPredictionJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Parent sets the optional parameter "parent": Required. The resource name of
// the Location to list the BatchPredictionJobs from. Format:
// `projects/{project}/locations/{location}`
func (c *BatchPredictionJobsListCall) Parent(parent string) *BatchPredictionJobsListCall {
	c.urlParams_.Set("parent", parent)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *BatchPredictionJobsListCall) ReadMask(readMask string) *BatchPredictionJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *BatchPredictionJobsListCall) Fields(s ...googleapi.Field) *BatchPredictionJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *BatchPredictionJobsListCall) IfNoneMatch(entityTag string) *BatchPredictionJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *BatchPredictionJobsListCall) Context(ctx context.Context) *BatchPredictionJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *BatchPredictionJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *BatchPredictionJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/batchPredictionJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.batchPredictionJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.batchPredictionJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListBatchPredictionJobsResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *BatchPredictionJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListBatchPredictionJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListBatchPredictionJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.batchPredictionJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *BatchPredictionJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListBatchPredictionJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type CustomJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *CustomJobsOperationsService) Cancel(name string) *CustomJobsOperationsCancelCall {
	c := &CustomJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *CustomJobsOperationsCancelCall) Fields(s ...googleapi.Field) *CustomJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *CustomJobsOperationsCancelCall) Context(ctx context.Context) *CustomJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *CustomJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *CustomJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.customJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *CustomJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type CustomJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *CustomJobsOperationsService) Delete(name string) *CustomJobsOperationsDeleteCall {
	c := &CustomJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *CustomJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *CustomJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *CustomJobsOperationsDeleteCall) Context(ctx context.Context) *CustomJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *CustomJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *CustomJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.customJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *CustomJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type CustomJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *CustomJobsOperationsService) Get(name string) *CustomJobsOperationsGetCall {
	c := &CustomJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *CustomJobsOperationsGetCall) Fields(s ...googleapi.Field) *CustomJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *CustomJobsOperationsGetCall) IfNoneMatch(entityTag string) *CustomJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *CustomJobsOperationsGetCall) Context(ctx context.Context) *CustomJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *CustomJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *CustomJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.customJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *CustomJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type CustomJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *CustomJobsOperationsService) List(name string) *CustomJobsOperationsListCall {
	c := &CustomJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *CustomJobsOperationsListCall) Filter(filter string) *CustomJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *CustomJobsOperationsListCall) PageSize(pageSize int64) *CustomJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *CustomJobsOperationsListCall) PageToken(pageToken string) *CustomJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *CustomJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *CustomJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *CustomJobsOperationsListCall) Fields(s ...googleapi.Field) *CustomJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *CustomJobsOperationsListCall) IfNoneMatch(entityTag string) *CustomJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *CustomJobsOperationsListCall) Context(ctx context.Context) *CustomJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *CustomJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *CustomJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.customJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *CustomJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *CustomJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type CustomJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *CustomJobsOperationsService) Wait(name string) *CustomJobsOperationsWaitCall {
	c := &CustomJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *CustomJobsOperationsWaitCall) Timeout(timeout string) *CustomJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *CustomJobsOperationsWaitCall) Fields(s ...googleapi.Field) *CustomJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *CustomJobsOperationsWaitCall) Context(ctx context.Context) *CustomJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *CustomJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *CustomJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.customJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *CustomJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.customJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DataLabelingJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *DataLabelingJobsOperationsService) Cancel(name string) *DataLabelingJobsOperationsCancelCall {
	c := &DataLabelingJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DataLabelingJobsOperationsCancelCall) Fields(s ...googleapi.Field) *DataLabelingJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DataLabelingJobsOperationsCancelCall) Context(ctx context.Context) *DataLabelingJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DataLabelingJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DataLabelingJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.dataLabelingJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DataLabelingJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DataLabelingJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *DataLabelingJobsOperationsService) Delete(name string) *DataLabelingJobsOperationsDeleteCall {
	c := &DataLabelingJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DataLabelingJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *DataLabelingJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DataLabelingJobsOperationsDeleteCall) Context(ctx context.Context) *DataLabelingJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DataLabelingJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DataLabelingJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.dataLabelingJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DataLabelingJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DataLabelingJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *DataLabelingJobsOperationsService) Get(name string) *DataLabelingJobsOperationsGetCall {
	c := &DataLabelingJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DataLabelingJobsOperationsGetCall) Fields(s ...googleapi.Field) *DataLabelingJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DataLabelingJobsOperationsGetCall) IfNoneMatch(entityTag string) *DataLabelingJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DataLabelingJobsOperationsGetCall) Context(ctx context.Context) *DataLabelingJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DataLabelingJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DataLabelingJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.dataLabelingJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DataLabelingJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DataLabelingJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *DataLabelingJobsOperationsService) List(name string) *DataLabelingJobsOperationsListCall {
	c := &DataLabelingJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DataLabelingJobsOperationsListCall) Filter(filter string) *DataLabelingJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DataLabelingJobsOperationsListCall) PageSize(pageSize int64) *DataLabelingJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DataLabelingJobsOperationsListCall) PageToken(pageToken string) *DataLabelingJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *DataLabelingJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DataLabelingJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DataLabelingJobsOperationsListCall) Fields(s ...googleapi.Field) *DataLabelingJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DataLabelingJobsOperationsListCall) IfNoneMatch(entityTag string) *DataLabelingJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DataLabelingJobsOperationsListCall) Context(ctx context.Context) *DataLabelingJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DataLabelingJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DataLabelingJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.dataLabelingJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DataLabelingJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DataLabelingJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DataLabelingJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *DataLabelingJobsOperationsService) Wait(name string) *DataLabelingJobsOperationsWaitCall {
	c := &DataLabelingJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *DataLabelingJobsOperationsWaitCall) Timeout(timeout string) *DataLabelingJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DataLabelingJobsOperationsWaitCall) Fields(s ...googleapi.Field) *DataLabelingJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DataLabelingJobsOperationsWaitCall) Context(ctx context.Context) *DataLabelingJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DataLabelingJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DataLabelingJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.dataLabelingJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DataLabelingJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.dataLabelingJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsCreateCall struct {
	s                              *Service
	googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Create: Creates a Dataset.
func (r *DatasetsService) Create(googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset) *DatasetsCreateCall {
	c := &DatasetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.googlecloudaiplatformv1dataset = googlecloudaiplatformv1dataset
	return c
}

// Parent sets the optional parameter "parent": Required. The resource name of
// the Location to create the Dataset in. Format:
// `projects/{project}/locations/{location}`
func (c *DatasetsCreateCall) Parent(parent string) *DatasetsCreateCall {
	c.urlParams_.Set("parent", parent)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsCreateCall) Fields(s ...googleapi.Field) *DatasetsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsCreateCall) Context(ctx context.Context) *DatasetsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1dataset)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Dataset.
//
//   - name: The resource name of the Dataset to delete. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *DatasetsService) Delete(name string) *DatasetsDeleteCall {
	c := &DatasetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDeleteCall) Fields(s ...googleapi.Field) *DatasetsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDeleteCall) Context(ctx context.Context) *DatasetsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Dataset.
//
// - name: The name of the Dataset resource.
func (r *DatasetsService) Get(name string) *DatasetsGetCall {
	c := &DatasetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *DatasetsGetCall) ReadMask(readMask string) *DatasetsGetCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsGetCall) Fields(s ...googleapi.Field) *DatasetsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsGetCall) IfNoneMatch(entityTag string) *DatasetsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsGetCall) Context(ctx context.Context) *DatasetsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Dataset.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Dataset, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Dataset{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsListCall struct {
	s            *Service
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Datasets in a Location.
func (r *DatasetsService) List() *DatasetsListCall {
	c := &DatasetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	return c
}

// Filter sets the optional parameter "filter": 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"
func (c *DatasetsListCall) Filter(filter string) *DatasetsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *DatasetsListCall) OrderBy(orderBy string) *DatasetsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DatasetsListCall) PageSize(pageSize int64) *DatasetsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DatasetsListCall) PageToken(pageToken string) *DatasetsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Parent sets the optional parameter "parent": Required. The name of the
// Dataset's parent resource. Format: `projects/{project}/locations/{location}`
func (c *DatasetsListCall) Parent(parent string) *DatasetsListCall {
	c.urlParams_.Set("parent", parent)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *DatasetsListCall) ReadMask(readMask string) *DatasetsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsListCall) Fields(s ...googleapi.Field) *DatasetsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsListCall) IfNoneMatch(entityTag string) *DatasetsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsListCall) Context(ctx context.Context) *DatasetsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/datasets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListDatasetsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListDatasetsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListDatasetsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DatasetsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListDatasetsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DatasetsPatchCall struct {
	s                              *Service
	name                           string
	googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Patch: Updates a Dataset.
//
//   - name: Output only. Identifier. The resource name of the Dataset. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *DatasetsService) Patch(name string, googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset) *DatasetsPatchCall {
	c := &DatasetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1dataset = googlecloudaiplatformv1dataset
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask. Updatable fields: * `display_name` *
// `description` * `labels`
func (c *DatasetsPatchCall) UpdateMask(updateMask string) *DatasetsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsPatchCall) Fields(s ...googleapi.Field) *DatasetsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsPatchCall) Context(ctx context.Context) *DatasetsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1dataset)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Dataset.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Dataset, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Dataset{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsAnnotationSpecsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *DatasetsAnnotationSpecsOperationsService) Cancel(name string) *DatasetsAnnotationSpecsOperationsCancelCall {
	c := &DatasetsAnnotationSpecsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsAnnotationSpecsOperationsCancelCall) Fields(s ...googleapi.Field) *DatasetsAnnotationSpecsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsAnnotationSpecsOperationsCancelCall) Context(ctx context.Context) *DatasetsAnnotationSpecsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsAnnotationSpecsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsAnnotationSpecsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.annotationSpecs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsAnnotationSpecsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsAnnotationSpecsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *DatasetsAnnotationSpecsOperationsService) Delete(name string) *DatasetsAnnotationSpecsOperationsDeleteCall {
	c := &DatasetsAnnotationSpecsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsAnnotationSpecsOperationsDeleteCall) Fields(s ...googleapi.Field) *DatasetsAnnotationSpecsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsAnnotationSpecsOperationsDeleteCall) Context(ctx context.Context) *DatasetsAnnotationSpecsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsAnnotationSpecsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsAnnotationSpecsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.annotationSpecs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsAnnotationSpecsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsAnnotationSpecsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *DatasetsAnnotationSpecsOperationsService) Get(name string) *DatasetsAnnotationSpecsOperationsGetCall {
	c := &DatasetsAnnotationSpecsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsAnnotationSpecsOperationsGetCall) Fields(s ...googleapi.Field) *DatasetsAnnotationSpecsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsAnnotationSpecsOperationsGetCall) IfNoneMatch(entityTag string) *DatasetsAnnotationSpecsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsAnnotationSpecsOperationsGetCall) Context(ctx context.Context) *DatasetsAnnotationSpecsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsAnnotationSpecsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsAnnotationSpecsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.annotationSpecs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsAnnotationSpecsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsAnnotationSpecsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *DatasetsAnnotationSpecsOperationsService) List(name string) *DatasetsAnnotationSpecsOperationsListCall {
	c := &DatasetsAnnotationSpecsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DatasetsAnnotationSpecsOperationsListCall) Filter(filter string) *DatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DatasetsAnnotationSpecsOperationsListCall) PageSize(pageSize int64) *DatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DatasetsAnnotationSpecsOperationsListCall) PageToken(pageToken string) *DatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *DatasetsAnnotationSpecsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsAnnotationSpecsOperationsListCall) Fields(s ...googleapi.Field) *DatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsAnnotationSpecsOperationsListCall) IfNoneMatch(entityTag string) *DatasetsAnnotationSpecsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsAnnotationSpecsOperationsListCall) Context(ctx context.Context) *DatasetsAnnotationSpecsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsAnnotationSpecsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsAnnotationSpecsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.annotationSpecs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsAnnotationSpecsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DatasetsAnnotationSpecsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DatasetsAnnotationSpecsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *DatasetsAnnotationSpecsOperationsService) Wait(name string) *DatasetsAnnotationSpecsOperationsWaitCall {
	c := &DatasetsAnnotationSpecsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *DatasetsAnnotationSpecsOperationsWaitCall) Timeout(timeout string) *DatasetsAnnotationSpecsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsAnnotationSpecsOperationsWaitCall) Fields(s ...googleapi.Field) *DatasetsAnnotationSpecsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsAnnotationSpecsOperationsWaitCall) Context(ctx context.Context) *DatasetsAnnotationSpecsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsAnnotationSpecsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsAnnotationSpecsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.annotationSpecs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsAnnotationSpecsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.annotationSpecs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsAnnotationsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *DatasetsDataItemsAnnotationsOperationsService) Cancel(name string) *DatasetsDataItemsAnnotationsOperationsCancelCall {
	c := &DatasetsDataItemsAnnotationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsAnnotationsOperationsCancelCall) Fields(s ...googleapi.Field) *DatasetsDataItemsAnnotationsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsAnnotationsOperationsCancelCall) Context(ctx context.Context) *DatasetsDataItemsAnnotationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsAnnotationsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsAnnotationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.annotations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsDataItemsAnnotationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsAnnotationsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *DatasetsDataItemsAnnotationsOperationsService) Delete(name string) *DatasetsDataItemsAnnotationsOperationsDeleteCall {
	c := &DatasetsDataItemsAnnotationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsAnnotationsOperationsDeleteCall) Fields(s ...googleapi.Field) *DatasetsDataItemsAnnotationsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsAnnotationsOperationsDeleteCall) Context(ctx context.Context) *DatasetsDataItemsAnnotationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsAnnotationsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsAnnotationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.annotations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsDataItemsAnnotationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsAnnotationsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *DatasetsDataItemsAnnotationsOperationsService) Get(name string) *DatasetsDataItemsAnnotationsOperationsGetCall {
	c := &DatasetsDataItemsAnnotationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsAnnotationsOperationsGetCall) Fields(s ...googleapi.Field) *DatasetsDataItemsAnnotationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsDataItemsAnnotationsOperationsGetCall) IfNoneMatch(entityTag string) *DatasetsDataItemsAnnotationsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsAnnotationsOperationsGetCall) Context(ctx context.Context) *DatasetsDataItemsAnnotationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsAnnotationsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsAnnotationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.annotations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDataItemsAnnotationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsAnnotationsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *DatasetsDataItemsAnnotationsOperationsService) List(name string) *DatasetsDataItemsAnnotationsOperationsListCall {
	c := &DatasetsDataItemsAnnotationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) Filter(filter string) *DatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) PageSize(pageSize int64) *DatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) PageToken(pageToken string) *DatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) Fields(s ...googleapi.Field) *DatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) IfNoneMatch(entityTag string) *DatasetsDataItemsAnnotationsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) Context(ctx context.Context) *DatasetsDataItemsAnnotationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsAnnotationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.annotations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DatasetsDataItemsAnnotationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DatasetsDataItemsAnnotationsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *DatasetsDataItemsAnnotationsOperationsService) Wait(name string) *DatasetsDataItemsAnnotationsOperationsWaitCall {
	c := &DatasetsDataItemsAnnotationsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *DatasetsDataItemsAnnotationsOperationsWaitCall) Timeout(timeout string) *DatasetsDataItemsAnnotationsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsAnnotationsOperationsWaitCall) Fields(s ...googleapi.Field) *DatasetsDataItemsAnnotationsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsAnnotationsOperationsWaitCall) Context(ctx context.Context) *DatasetsDataItemsAnnotationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsAnnotationsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsAnnotationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.annotations.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDataItemsAnnotationsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.annotations.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *DatasetsDataItemsOperationsService) Cancel(name string) *DatasetsDataItemsOperationsCancelCall {
	c := &DatasetsDataItemsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsOperationsCancelCall) Fields(s ...googleapi.Field) *DatasetsDataItemsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsOperationsCancelCall) Context(ctx context.Context) *DatasetsDataItemsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsDataItemsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *DatasetsDataItemsOperationsService) Delete(name string) *DatasetsDataItemsOperationsDeleteCall {
	c := &DatasetsDataItemsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsOperationsDeleteCall) Fields(s ...googleapi.Field) *DatasetsDataItemsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsOperationsDeleteCall) Context(ctx context.Context) *DatasetsDataItemsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsDataItemsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *DatasetsDataItemsOperationsService) Get(name string) *DatasetsDataItemsOperationsGetCall {
	c := &DatasetsDataItemsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsOperationsGetCall) Fields(s ...googleapi.Field) *DatasetsDataItemsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsDataItemsOperationsGetCall) IfNoneMatch(entityTag string) *DatasetsDataItemsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsOperationsGetCall) Context(ctx context.Context) *DatasetsDataItemsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDataItemsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDataItemsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *DatasetsDataItemsOperationsService) List(name string) *DatasetsDataItemsOperationsListCall {
	c := &DatasetsDataItemsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DatasetsDataItemsOperationsListCall) Filter(filter string) *DatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DatasetsDataItemsOperationsListCall) PageSize(pageSize int64) *DatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DatasetsDataItemsOperationsListCall) PageToken(pageToken string) *DatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *DatasetsDataItemsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsOperationsListCall) Fields(s ...googleapi.Field) *DatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsDataItemsOperationsListCall) IfNoneMatch(entityTag string) *DatasetsDataItemsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsOperationsListCall) Context(ctx context.Context) *DatasetsDataItemsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDataItemsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DatasetsDataItemsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DatasetsDataItemsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *DatasetsDataItemsOperationsService) Wait(name string) *DatasetsDataItemsOperationsWaitCall {
	c := &DatasetsDataItemsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *DatasetsDataItemsOperationsWaitCall) Timeout(timeout string) *DatasetsDataItemsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDataItemsOperationsWaitCall) Fields(s ...googleapi.Field) *DatasetsDataItemsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDataItemsOperationsWaitCall) Context(ctx context.Context) *DatasetsDataItemsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDataItemsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDataItemsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.dataItems.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDataItemsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.dataItems.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDatasetVersionsCreateCall struct {
	s                                     *Service
	parent                                string
	googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Create: Create a version from a Dataset.
//
//   - parent: The name of the Dataset resource. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *DatasetsDatasetVersionsService) Create(parent string, googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion) *DatasetsDatasetVersionsCreateCall {
	c := &DatasetsDatasetVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1datasetversion = googlecloudaiplatformv1datasetversion
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDatasetVersionsCreateCall) Fields(s ...googleapi.Field) *DatasetsDatasetVersionsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDatasetVersionsCreateCall) Context(ctx context.Context) *DatasetsDatasetVersionsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDatasetVersionsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDatasetVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1datasetversion)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/datasetVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.datasetVersions.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDatasetVersionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDatasetVersionsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Dataset version.
//
//   - name: The resource name of the Dataset version to delete. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *DatasetsDatasetVersionsService) Delete(name string) *DatasetsDatasetVersionsDeleteCall {
	c := &DatasetsDatasetVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDatasetVersionsDeleteCall) Fields(s ...googleapi.Field) *DatasetsDatasetVersionsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDatasetVersionsDeleteCall) Context(ctx context.Context) *DatasetsDatasetVersionsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDatasetVersionsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDatasetVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.datasetVersions.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDatasetVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDatasetVersionsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Dataset version.
//
//   - name: The resource name of the Dataset version to delete. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *DatasetsDatasetVersionsService) Get(name string) *DatasetsDatasetVersionsGetCall {
	c := &DatasetsDatasetVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *DatasetsDatasetVersionsGetCall) ReadMask(readMask string) *DatasetsDatasetVersionsGetCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDatasetVersionsGetCall) Fields(s ...googleapi.Field) *DatasetsDatasetVersionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsDatasetVersionsGetCall) IfNoneMatch(entityTag string) *DatasetsDatasetVersionsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDatasetVersionsGetCall) Context(ctx context.Context) *DatasetsDatasetVersionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDatasetVersionsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDatasetVersionsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.datasetVersions.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DatasetVersion.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDatasetVersionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DatasetVersion, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DatasetVersion{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDatasetVersionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists DatasetVersions in a Dataset.
//
//   - parent: The resource name of the Dataset to list DatasetVersions from.
//     Format: `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *DatasetsDatasetVersionsService) List(parent string) *DatasetsDatasetVersionsListCall {
	c := &DatasetsDatasetVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DatasetsDatasetVersionsListCall) Filter(filter string) *DatasetsDatasetVersionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "desc" after a field name
// for descending.
func (c *DatasetsDatasetVersionsListCall) OrderBy(orderBy string) *DatasetsDatasetVersionsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DatasetsDatasetVersionsListCall) PageSize(pageSize int64) *DatasetsDatasetVersionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DatasetsDatasetVersionsListCall) PageToken(pageToken string) *DatasetsDatasetVersionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *DatasetsDatasetVersionsListCall) ReadMask(readMask string) *DatasetsDatasetVersionsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDatasetVersionsListCall) Fields(s ...googleapi.Field) *DatasetsDatasetVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsDatasetVersionsListCall) IfNoneMatch(entityTag string) *DatasetsDatasetVersionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDatasetVersionsListCall) Context(ctx context.Context) *DatasetsDatasetVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDatasetVersionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDatasetVersionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/datasetVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.datasetVersions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListDatasetVersionsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDatasetVersionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListDatasetVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListDatasetVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DatasetsDatasetVersionsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListDatasetVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DatasetsDatasetVersionsPatchCall struct {
	s                                     *Service
	name                                  string
	googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Patch: Updates a DatasetVersion.
//
//   - name: Output only. Identifier. The resource name of the DatasetVersion.
//     Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *DatasetsDatasetVersionsService) Patch(name string, googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion) *DatasetsDatasetVersionsPatchCall {
	c := &DatasetsDatasetVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1datasetversion = googlecloudaiplatformv1datasetversion
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask. Updatable fields: * `display_name`
func (c *DatasetsDatasetVersionsPatchCall) UpdateMask(updateMask string) *DatasetsDatasetVersionsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDatasetVersionsPatchCall) Fields(s ...googleapi.Field) *DatasetsDatasetVersionsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDatasetVersionsPatchCall) Context(ctx context.Context) *DatasetsDatasetVersionsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDatasetVersionsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDatasetVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1datasetversion)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.datasetVersions.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DatasetVersion.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDatasetVersionsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DatasetVersion, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DatasetVersion{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsDatasetVersionsRestoreCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Restore: Restores a dataset version.
//
//   - name: The name of the DatasetVersion resource. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *DatasetsDatasetVersionsService) Restore(name string) *DatasetsDatasetVersionsRestoreCall {
	c := &DatasetsDatasetVersionsRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsDatasetVersionsRestoreCall) Fields(s ...googleapi.Field) *DatasetsDatasetVersionsRestoreCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsDatasetVersionsRestoreCall) IfNoneMatch(entityTag string) *DatasetsDatasetVersionsRestoreCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsDatasetVersionsRestoreCall) Context(ctx context.Context) *DatasetsDatasetVersionsRestoreCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsDatasetVersionsRestoreCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsDatasetVersionsRestoreCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:restore")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.restore", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.datasetVersions.restore" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsDatasetVersionsRestoreCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.datasetVersions.restore", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *DatasetsOperationsService) Cancel(name string) *DatasetsOperationsCancelCall {
	c := &DatasetsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsOperationsCancelCall) Fields(s ...googleapi.Field) *DatasetsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsOperationsCancelCall) Context(ctx context.Context) *DatasetsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *DatasetsOperationsService) Delete(name string) *DatasetsOperationsDeleteCall {
	c := &DatasetsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsOperationsDeleteCall) Fields(s ...googleapi.Field) *DatasetsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsOperationsDeleteCall) Context(ctx context.Context) *DatasetsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *DatasetsOperationsService) Get(name string) *DatasetsOperationsGetCall {
	c := &DatasetsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsOperationsGetCall) Fields(s ...googleapi.Field) *DatasetsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsOperationsGetCall) IfNoneMatch(entityTag string) *DatasetsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsOperationsGetCall) Context(ctx context.Context) *DatasetsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *DatasetsOperationsService) List(name string) *DatasetsOperationsListCall {
	c := &DatasetsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DatasetsOperationsListCall) Filter(filter string) *DatasetsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DatasetsOperationsListCall) PageSize(pageSize int64) *DatasetsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DatasetsOperationsListCall) PageToken(pageToken string) *DatasetsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *DatasetsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DatasetsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsOperationsListCall) Fields(s ...googleapi.Field) *DatasetsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsOperationsListCall) IfNoneMatch(entityTag string) *DatasetsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsOperationsListCall) Context(ctx context.Context) *DatasetsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DatasetsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DatasetsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *DatasetsOperationsService) Wait(name string) *DatasetsOperationsWaitCall {
	c := &DatasetsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *DatasetsOperationsWaitCall) Timeout(timeout string) *DatasetsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsOperationsWaitCall) Fields(s ...googleapi.Field) *DatasetsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsOperationsWaitCall) Context(ctx context.Context) *DatasetsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsSavedQueriesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *DatasetsSavedQueriesOperationsService) Cancel(name string) *DatasetsSavedQueriesOperationsCancelCall {
	c := &DatasetsSavedQueriesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsSavedQueriesOperationsCancelCall) Fields(s ...googleapi.Field) *DatasetsSavedQueriesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsSavedQueriesOperationsCancelCall) Context(ctx context.Context) *DatasetsSavedQueriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsSavedQueriesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsSavedQueriesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.savedQueries.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsSavedQueriesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsSavedQueriesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *DatasetsSavedQueriesOperationsService) Delete(name string) *DatasetsSavedQueriesOperationsDeleteCall {
	c := &DatasetsSavedQueriesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsSavedQueriesOperationsDeleteCall) Fields(s ...googleapi.Field) *DatasetsSavedQueriesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsSavedQueriesOperationsDeleteCall) Context(ctx context.Context) *DatasetsSavedQueriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsSavedQueriesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsSavedQueriesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.savedQueries.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DatasetsSavedQueriesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsSavedQueriesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *DatasetsSavedQueriesOperationsService) Get(name string) *DatasetsSavedQueriesOperationsGetCall {
	c := &DatasetsSavedQueriesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsSavedQueriesOperationsGetCall) Fields(s ...googleapi.Field) *DatasetsSavedQueriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsSavedQueriesOperationsGetCall) IfNoneMatch(entityTag string) *DatasetsSavedQueriesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsSavedQueriesOperationsGetCall) Context(ctx context.Context) *DatasetsSavedQueriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsSavedQueriesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsSavedQueriesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.savedQueries.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsSavedQueriesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DatasetsSavedQueriesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *DatasetsSavedQueriesOperationsService) List(name string) *DatasetsSavedQueriesOperationsListCall {
	c := &DatasetsSavedQueriesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DatasetsSavedQueriesOperationsListCall) Filter(filter string) *DatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DatasetsSavedQueriesOperationsListCall) PageSize(pageSize int64) *DatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DatasetsSavedQueriesOperationsListCall) PageToken(pageToken string) *DatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *DatasetsSavedQueriesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsSavedQueriesOperationsListCall) Fields(s ...googleapi.Field) *DatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DatasetsSavedQueriesOperationsListCall) IfNoneMatch(entityTag string) *DatasetsSavedQueriesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsSavedQueriesOperationsListCall) Context(ctx context.Context) *DatasetsSavedQueriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsSavedQueriesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsSavedQueriesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.savedQueries.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsSavedQueriesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DatasetsSavedQueriesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DatasetsSavedQueriesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *DatasetsSavedQueriesOperationsService) Wait(name string) *DatasetsSavedQueriesOperationsWaitCall {
	c := &DatasetsSavedQueriesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *DatasetsSavedQueriesOperationsWaitCall) Timeout(timeout string) *DatasetsSavedQueriesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DatasetsSavedQueriesOperationsWaitCall) Fields(s ...googleapi.Field) *DatasetsSavedQueriesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DatasetsSavedQueriesOperationsWaitCall) Context(ctx context.Context) *DatasetsSavedQueriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DatasetsSavedQueriesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DatasetsSavedQueriesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.datasets.savedQueries.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DatasetsSavedQueriesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.datasets.savedQueries.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DeploymentResourcePoolsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *DeploymentResourcePoolsOperationsService) Cancel(name string) *DeploymentResourcePoolsOperationsCancelCall {
	c := &DeploymentResourcePoolsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DeploymentResourcePoolsOperationsCancelCall) Fields(s ...googleapi.Field) *DeploymentResourcePoolsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DeploymentResourcePoolsOperationsCancelCall) Context(ctx context.Context) *DeploymentResourcePoolsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DeploymentResourcePoolsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DeploymentResourcePoolsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.deploymentResourcePools.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DeploymentResourcePoolsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DeploymentResourcePoolsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *DeploymentResourcePoolsOperationsService) Delete(name string) *DeploymentResourcePoolsOperationsDeleteCall {
	c := &DeploymentResourcePoolsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DeploymentResourcePoolsOperationsDeleteCall) Fields(s ...googleapi.Field) *DeploymentResourcePoolsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DeploymentResourcePoolsOperationsDeleteCall) Context(ctx context.Context) *DeploymentResourcePoolsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DeploymentResourcePoolsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DeploymentResourcePoolsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.deploymentResourcePools.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *DeploymentResourcePoolsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DeploymentResourcePoolsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *DeploymentResourcePoolsOperationsService) Get(name string) *DeploymentResourcePoolsOperationsGetCall {
	c := &DeploymentResourcePoolsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DeploymentResourcePoolsOperationsGetCall) Fields(s ...googleapi.Field) *DeploymentResourcePoolsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DeploymentResourcePoolsOperationsGetCall) IfNoneMatch(entityTag string) *DeploymentResourcePoolsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DeploymentResourcePoolsOperationsGetCall) Context(ctx context.Context) *DeploymentResourcePoolsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DeploymentResourcePoolsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DeploymentResourcePoolsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.deploymentResourcePools.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DeploymentResourcePoolsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type DeploymentResourcePoolsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *DeploymentResourcePoolsOperationsService) List(name string) *DeploymentResourcePoolsOperationsListCall {
	c := &DeploymentResourcePoolsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *DeploymentResourcePoolsOperationsListCall) Filter(filter string) *DeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *DeploymentResourcePoolsOperationsListCall) PageSize(pageSize int64) *DeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *DeploymentResourcePoolsOperationsListCall) PageToken(pageToken string) *DeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *DeploymentResourcePoolsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *DeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DeploymentResourcePoolsOperationsListCall) Fields(s ...googleapi.Field) *DeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *DeploymentResourcePoolsOperationsListCall) IfNoneMatch(entityTag string) *DeploymentResourcePoolsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DeploymentResourcePoolsOperationsListCall) Context(ctx context.Context) *DeploymentResourcePoolsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DeploymentResourcePoolsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DeploymentResourcePoolsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.deploymentResourcePools.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DeploymentResourcePoolsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *DeploymentResourcePoolsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type DeploymentResourcePoolsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *DeploymentResourcePoolsOperationsService) Wait(name string) *DeploymentResourcePoolsOperationsWaitCall {
	c := &DeploymentResourcePoolsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *DeploymentResourcePoolsOperationsWaitCall) Timeout(timeout string) *DeploymentResourcePoolsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *DeploymentResourcePoolsOperationsWaitCall) Fields(s ...googleapi.Field) *DeploymentResourcePoolsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *DeploymentResourcePoolsOperationsWaitCall) Context(ctx context.Context) *DeploymentResourcePoolsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *DeploymentResourcePoolsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *DeploymentResourcePoolsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.deploymentResourcePools.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *DeploymentResourcePoolsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.deploymentResourcePools.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsComputeTokensCall struct {
	s                                           *Service
	endpoint                                    string
	googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// ComputeTokens: Return a list of tokens based on the input text.
//
//   - endpoint: The name of the Endpoint requested to get lists of tokens and
//     token ids.
func (r *EndpointsService) ComputeTokens(endpoint string, googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest) *EndpointsComputeTokensCall {
	c := &EndpointsComputeTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1computetokensrequest = googlecloudaiplatformv1computetokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsComputeTokensCall) Fields(s ...googleapi.Field) *EndpointsComputeTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsComputeTokensCall) Context(ctx context.Context) *EndpointsComputeTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsComputeTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsComputeTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1computetokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:computeTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.computeTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.computeTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ComputeTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsComputeTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ComputeTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ComputeTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.computeTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsCountTokensCall struct {
	s                                         *Service
	endpoint                                  string
	googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// CountTokens: Perform a token counting.
//
//   - endpoint: The name of the Endpoint requested to perform token counting.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *EndpointsService) CountTokens(endpoint string, googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest) *EndpointsCountTokensCall {
	c := &EndpointsCountTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1counttokensrequest = googlecloudaiplatformv1counttokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsCountTokensCall) Fields(s ...googleapi.Field) *EndpointsCountTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsCountTokensCall) Context(ctx context.Context) *EndpointsCountTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsCountTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsCountTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1counttokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:countTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.countTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.countTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CountTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsCountTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CountTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CountTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.countTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsFetchPredictOperationCall struct {
	s                                                   *Service
	endpoint                                            string
	googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// FetchPredictOperation: Fetch an asynchronous online prediction operation.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *EndpointsService) FetchPredictOperation(endpoint string, googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest) *EndpointsFetchPredictOperationCall {
	c := &EndpointsFetchPredictOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1fetchpredictoperationrequest = googlecloudaiplatformv1fetchpredictoperationrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsFetchPredictOperationCall) Fields(s ...googleapi.Field) *EndpointsFetchPredictOperationCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsFetchPredictOperationCall) Context(ctx context.Context) *EndpointsFetchPredictOperationCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsFetchPredictOperationCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsFetchPredictOperationCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1fetchpredictoperationrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:fetchPredictOperation")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.fetchPredictOperation", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.fetchPredictOperation" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsFetchPredictOperationCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.fetchPredictOperation", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// GenerateContent: Generate content with multimodal inputs.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *EndpointsService) GenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *EndpointsGenerateContentCall {
	c := &EndpointsGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsGenerateContentCall) Fields(s ...googleapi.Field) *EndpointsGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsGenerateContentCall) Context(ctx context.Context) *EndpointsGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:generateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.generateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.generateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.generateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsPredictCall struct {
	s                                     *Service
	endpoint                              string
	googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Predict:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *EndpointsService) Predict(endpoint string, googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest) *EndpointsPredictCall {
	c := &EndpointsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictrequest = googlecloudaiplatformv1predictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsPredictCall) Fields(s ...googleapi.Field) *EndpointsPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsPredictCall) Context(ctx context.Context) *EndpointsPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.predict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.predict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PredictResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.predict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsPredictLongRunningCall struct {
	s                                                *Service
	endpoint                                         string
	googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// PredictLongRunning:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *EndpointsService) PredictLongRunning(endpoint string, googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest) *EndpointsPredictLongRunningCall {
	c := &EndpointsPredictLongRunningCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictlongrunningrequest = googlecloudaiplatformv1predictlongrunningrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsPredictLongRunningCall) Fields(s ...googleapi.Field) *EndpointsPredictLongRunningCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsPredictLongRunningCall) Context(ctx context.Context) *EndpointsPredictLongRunningCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsPredictLongRunningCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsPredictLongRunningCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictlongrunningrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predictLongRunning")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.predictLongRunning", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.predictLongRunning" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsPredictLongRunningCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.predictLongRunning", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsStreamGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// StreamGenerateContent: Generate content with multimodal inputs with
// streaming support.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *EndpointsService) StreamGenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *EndpointsStreamGenerateContentCall {
	c := &EndpointsStreamGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsStreamGenerateContentCall) Fields(s ...googleapi.Field) *EndpointsStreamGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsStreamGenerateContentCall) Context(ctx context.Context) *EndpointsStreamGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsStreamGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsStreamGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:streamGenerateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.streamGenerateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.streamGenerateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsStreamGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.streamGenerateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsChatCompletionsCall struct {
	s                 *Service
	endpoint          string
	googleapihttpbody *GoogleApiHttpBody
	urlParams_        gensupport.URLParams
	ctx_              context.Context
	header_           http.Header
}

// Completions: Exposes an OpenAI-compatible endpoint for chat completions.
//
//   - endpoint: The name of the endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *EndpointsChatService) Completions(endpoint string, googleapihttpbody *GoogleApiHttpBody) *EndpointsChatCompletionsCall {
	c := &EndpointsChatCompletionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googleapihttpbody = googleapihttpbody
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsChatCompletionsCall) Fields(s ...googleapi.Field) *EndpointsChatCompletionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsChatCompletionsCall) Context(ctx context.Context) *EndpointsChatCompletionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsChatCompletionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsChatCompletionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleapihttpbody)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/chat/completions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.chat.completions", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.chat.completions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *EndpointsChatCompletionsCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.chat.completions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *EndpointsOperationsService) Cancel(name string) *EndpointsOperationsCancelCall {
	c := &EndpointsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsOperationsCancelCall) Fields(s ...googleapi.Field) *EndpointsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsOperationsCancelCall) Context(ctx context.Context) *EndpointsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *EndpointsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *EndpointsOperationsService) Delete(name string) *EndpointsOperationsDeleteCall {
	c := &EndpointsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsOperationsDeleteCall) Fields(s ...googleapi.Field) *EndpointsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsOperationsDeleteCall) Context(ctx context.Context) *EndpointsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *EndpointsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *EndpointsOperationsService) Get(name string) *EndpointsOperationsGetCall {
	c := &EndpointsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsOperationsGetCall) Fields(s ...googleapi.Field) *EndpointsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *EndpointsOperationsGetCall) IfNoneMatch(entityTag string) *EndpointsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsOperationsGetCall) Context(ctx context.Context) *EndpointsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EndpointsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *EndpointsOperationsService) List(name string) *EndpointsOperationsListCall {
	c := &EndpointsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *EndpointsOperationsListCall) Filter(filter string) *EndpointsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *EndpointsOperationsListCall) PageSize(pageSize int64) *EndpointsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *EndpointsOperationsListCall) PageToken(pageToken string) *EndpointsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *EndpointsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *EndpointsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsOperationsListCall) Fields(s ...googleapi.Field) *EndpointsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *EndpointsOperationsListCall) IfNoneMatch(entityTag string) *EndpointsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsOperationsListCall) Context(ctx context.Context) *EndpointsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *EndpointsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type EndpointsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *EndpointsOperationsService) Wait(name string) *EndpointsOperationsWaitCall {
	c := &EndpointsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *EndpointsOperationsWaitCall) Timeout(timeout string) *EndpointsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EndpointsOperationsWaitCall) Fields(s ...googleapi.Field) *EndpointsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EndpointsOperationsWaitCall) Context(ctx context.Context) *EndpointsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EndpointsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EndpointsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.endpoints.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *EndpointsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.endpoints.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureGroupsFeaturesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *FeatureGroupsFeaturesOperationsService) Delete(name string) *FeatureGroupsFeaturesOperationsDeleteCall {
	c := &FeatureGroupsFeaturesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsFeaturesOperationsDeleteCall) Fields(s ...googleapi.Field) *FeatureGroupsFeaturesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsFeaturesOperationsDeleteCall) Context(ctx context.Context) *FeatureGroupsFeaturesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsFeaturesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsFeaturesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.features.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeatureGroupsFeaturesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureGroupsFeaturesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *FeatureGroupsFeaturesOperationsService) Get(name string) *FeatureGroupsFeaturesOperationsGetCall {
	c := &FeatureGroupsFeaturesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsFeaturesOperationsGetCall) Fields(s ...googleapi.Field) *FeatureGroupsFeaturesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureGroupsFeaturesOperationsGetCall) IfNoneMatch(entityTag string) *FeatureGroupsFeaturesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsFeaturesOperationsGetCall) Context(ctx context.Context) *FeatureGroupsFeaturesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsFeaturesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsFeaturesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.features.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureGroupsFeaturesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureGroupsFeaturesOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *FeatureGroupsFeaturesOperationsService) ListWait(name string) *FeatureGroupsFeaturesOperationsListWaitCall {
	c := &FeatureGroupsFeaturesOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) Filter(filter string) *FeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) PageSize(pageSize int64) *FeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) PageToken(pageToken string) *FeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *FeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) Fields(s ...googleapi.Field) *FeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) IfNoneMatch(entityTag string) *FeatureGroupsFeaturesOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) Context(ctx context.Context) *FeatureGroupsFeaturesOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsFeaturesOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.features.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *FeatureGroupsFeaturesOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type FeatureGroupsFeaturesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *FeatureGroupsFeaturesOperationsService) Wait(name string) *FeatureGroupsFeaturesOperationsWaitCall {
	c := &FeatureGroupsFeaturesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *FeatureGroupsFeaturesOperationsWaitCall) Timeout(timeout string) *FeatureGroupsFeaturesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsFeaturesOperationsWaitCall) Fields(s ...googleapi.Field) *FeatureGroupsFeaturesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsFeaturesOperationsWaitCall) Context(ctx context.Context) *FeatureGroupsFeaturesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsFeaturesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsFeaturesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.features.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureGroupsFeaturesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.features.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureGroupsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *FeatureGroupsOperationsService) Delete(name string) *FeatureGroupsOperationsDeleteCall {
	c := &FeatureGroupsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsOperationsDeleteCall) Fields(s ...googleapi.Field) *FeatureGroupsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsOperationsDeleteCall) Context(ctx context.Context) *FeatureGroupsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeatureGroupsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureGroupsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *FeatureGroupsOperationsService) Get(name string) *FeatureGroupsOperationsGetCall {
	c := &FeatureGroupsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsOperationsGetCall) Fields(s ...googleapi.Field) *FeatureGroupsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureGroupsOperationsGetCall) IfNoneMatch(entityTag string) *FeatureGroupsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsOperationsGetCall) Context(ctx context.Context) *FeatureGroupsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureGroupsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureGroupsOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *FeatureGroupsOperationsService) ListWait(name string) *FeatureGroupsOperationsListWaitCall {
	c := &FeatureGroupsOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *FeatureGroupsOperationsListWaitCall) Filter(filter string) *FeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *FeatureGroupsOperationsListWaitCall) PageSize(pageSize int64) *FeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *FeatureGroupsOperationsListWaitCall) PageToken(pageToken string) *FeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *FeatureGroupsOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *FeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsOperationsListWaitCall) Fields(s ...googleapi.Field) *FeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureGroupsOperationsListWaitCall) IfNoneMatch(entityTag string) *FeatureGroupsOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsOperationsListWaitCall) Context(ctx context.Context) *FeatureGroupsOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureGroupsOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *FeatureGroupsOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type FeatureGroupsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *FeatureGroupsOperationsService) Wait(name string) *FeatureGroupsOperationsWaitCall {
	c := &FeatureGroupsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *FeatureGroupsOperationsWaitCall) Timeout(timeout string) *FeatureGroupsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureGroupsOperationsWaitCall) Fields(s ...googleapi.Field) *FeatureGroupsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureGroupsOperationsWaitCall) Context(ctx context.Context) *FeatureGroupsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureGroupsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureGroupsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureGroups.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureGroupsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureGroups.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureOnlineStoresFeatureViewsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *FeatureOnlineStoresFeatureViewsOperationsService) Delete(name string) *FeatureOnlineStoresFeatureViewsOperationsDeleteCall {
	c := &FeatureOnlineStoresFeatureViewsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresFeatureViewsOperationsDeleteCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresFeatureViewsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresFeatureViewsOperationsDeleteCall) Context(ctx context.Context) *FeatureOnlineStoresFeatureViewsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresFeatureViewsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresFeatureViewsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.featureViews.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeatureOnlineStoresFeatureViewsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureOnlineStoresFeatureViewsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *FeatureOnlineStoresFeatureViewsOperationsService) Get(name string) *FeatureOnlineStoresFeatureViewsOperationsGetCall {
	c := &FeatureOnlineStoresFeatureViewsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresFeatureViewsOperationsGetCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresFeatureViewsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureOnlineStoresFeatureViewsOperationsGetCall) IfNoneMatch(entityTag string) *FeatureOnlineStoresFeatureViewsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresFeatureViewsOperationsGetCall) Context(ctx context.Context) *FeatureOnlineStoresFeatureViewsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresFeatureViewsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresFeatureViewsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.featureViews.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureOnlineStoresFeatureViewsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureOnlineStoresFeatureViewsOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *FeatureOnlineStoresFeatureViewsOperationsService) ListWait(name string) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c := &FeatureOnlineStoresFeatureViewsOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) Filter(filter string) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) PageSize(pageSize int64) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) PageToken(pageToken string) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) IfNoneMatch(entityTag string) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) Context(ctx context.Context) *FeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.featureViews.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *FeatureOnlineStoresFeatureViewsOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type FeatureOnlineStoresFeatureViewsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *FeatureOnlineStoresFeatureViewsOperationsService) Wait(name string) *FeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c := &FeatureOnlineStoresFeatureViewsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *FeatureOnlineStoresFeatureViewsOperationsWaitCall) Timeout(timeout string) *FeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresFeatureViewsOperationsWaitCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresFeatureViewsOperationsWaitCall) Context(ctx context.Context) *FeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresFeatureViewsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresFeatureViewsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.featureViews.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureOnlineStoresFeatureViewsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.featureViews.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureOnlineStoresOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *FeatureOnlineStoresOperationsService) Delete(name string) *FeatureOnlineStoresOperationsDeleteCall {
	c := &FeatureOnlineStoresOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresOperationsDeleteCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresOperationsDeleteCall) Context(ctx context.Context) *FeatureOnlineStoresOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeatureOnlineStoresOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureOnlineStoresOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *FeatureOnlineStoresOperationsService) Get(name string) *FeatureOnlineStoresOperationsGetCall {
	c := &FeatureOnlineStoresOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresOperationsGetCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureOnlineStoresOperationsGetCall) IfNoneMatch(entityTag string) *FeatureOnlineStoresOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresOperationsGetCall) Context(ctx context.Context) *FeatureOnlineStoresOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureOnlineStoresOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeatureOnlineStoresOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *FeatureOnlineStoresOperationsService) ListWait(name string) *FeatureOnlineStoresOperationsListWaitCall {
	c := &FeatureOnlineStoresOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *FeatureOnlineStoresOperationsListWaitCall) Filter(filter string) *FeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *FeatureOnlineStoresOperationsListWaitCall) PageSize(pageSize int64) *FeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *FeatureOnlineStoresOperationsListWaitCall) PageToken(pageToken string) *FeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *FeatureOnlineStoresOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *FeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresOperationsListWaitCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeatureOnlineStoresOperationsListWaitCall) IfNoneMatch(entityTag string) *FeatureOnlineStoresOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresOperationsListWaitCall) Context(ctx context.Context) *FeatureOnlineStoresOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureOnlineStoresOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *FeatureOnlineStoresOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type FeatureOnlineStoresOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *FeatureOnlineStoresOperationsService) Wait(name string) *FeatureOnlineStoresOperationsWaitCall {
	c := &FeatureOnlineStoresOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *FeatureOnlineStoresOperationsWaitCall) Timeout(timeout string) *FeatureOnlineStoresOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeatureOnlineStoresOperationsWaitCall) Fields(s ...googleapi.Field) *FeatureOnlineStoresOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeatureOnlineStoresOperationsWaitCall) Context(ctx context.Context) *FeatureOnlineStoresOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeatureOnlineStoresOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeatureOnlineStoresOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featureOnlineStores.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeatureOnlineStoresOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featureOnlineStores.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesFeaturesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *FeaturestoresEntityTypesFeaturesOperationsService) Cancel(name string) *FeaturestoresEntityTypesFeaturesOperationsCancelCall {
	c := &FeaturestoresEntityTypesFeaturesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesFeaturesOperationsCancelCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesFeaturesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesFeaturesOperationsCancelCall) Context(ctx context.Context) *FeaturestoresEntityTypesFeaturesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesFeaturesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesFeaturesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.features.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeaturestoresEntityTypesFeaturesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesFeaturesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *FeaturestoresEntityTypesFeaturesOperationsService) Delete(name string) *FeaturestoresEntityTypesFeaturesOperationsDeleteCall {
	c := &FeaturestoresEntityTypesFeaturesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesFeaturesOperationsDeleteCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesFeaturesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesFeaturesOperationsDeleteCall) Context(ctx context.Context) *FeaturestoresEntityTypesFeaturesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesFeaturesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesFeaturesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.features.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeaturestoresEntityTypesFeaturesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesFeaturesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *FeaturestoresEntityTypesFeaturesOperationsService) Get(name string) *FeaturestoresEntityTypesFeaturesOperationsGetCall {
	c := &FeaturestoresEntityTypesFeaturesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesFeaturesOperationsGetCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeaturestoresEntityTypesFeaturesOperationsGetCall) IfNoneMatch(entityTag string) *FeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesFeaturesOperationsGetCall) Context(ctx context.Context) *FeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesFeaturesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesFeaturesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.features.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresEntityTypesFeaturesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesFeaturesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *FeaturestoresEntityTypesFeaturesOperationsService) List(name string) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c := &FeaturestoresEntityTypesFeaturesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) Filter(filter string) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) PageSize(pageSize int64) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) PageToken(pageToken string) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) IfNoneMatch(entityTag string) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) Context(ctx context.Context) *FeaturestoresEntityTypesFeaturesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.features.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *FeaturestoresEntityTypesFeaturesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type FeaturestoresEntityTypesFeaturesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *FeaturestoresEntityTypesFeaturesOperationsService) Wait(name string) *FeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c := &FeaturestoresEntityTypesFeaturesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *FeaturestoresEntityTypesFeaturesOperationsWaitCall) Timeout(timeout string) *FeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesFeaturesOperationsWaitCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesFeaturesOperationsWaitCall) Context(ctx context.Context) *FeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesFeaturesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesFeaturesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.features.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresEntityTypesFeaturesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.features.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *FeaturestoresEntityTypesOperationsService) Cancel(name string) *FeaturestoresEntityTypesOperationsCancelCall {
	c := &FeaturestoresEntityTypesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesOperationsCancelCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesOperationsCancelCall) Context(ctx context.Context) *FeaturestoresEntityTypesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeaturestoresEntityTypesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *FeaturestoresEntityTypesOperationsService) Delete(name string) *FeaturestoresEntityTypesOperationsDeleteCall {
	c := &FeaturestoresEntityTypesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesOperationsDeleteCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesOperationsDeleteCall) Context(ctx context.Context) *FeaturestoresEntityTypesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeaturestoresEntityTypesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *FeaturestoresEntityTypesOperationsService) Get(name string) *FeaturestoresEntityTypesOperationsGetCall {
	c := &FeaturestoresEntityTypesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesOperationsGetCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeaturestoresEntityTypesOperationsGetCall) IfNoneMatch(entityTag string) *FeaturestoresEntityTypesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesOperationsGetCall) Context(ctx context.Context) *FeaturestoresEntityTypesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresEntityTypesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresEntityTypesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *FeaturestoresEntityTypesOperationsService) List(name string) *FeaturestoresEntityTypesOperationsListCall {
	c := &FeaturestoresEntityTypesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *FeaturestoresEntityTypesOperationsListCall) Filter(filter string) *FeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *FeaturestoresEntityTypesOperationsListCall) PageSize(pageSize int64) *FeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *FeaturestoresEntityTypesOperationsListCall) PageToken(pageToken string) *FeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *FeaturestoresEntityTypesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *FeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesOperationsListCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeaturestoresEntityTypesOperationsListCall) IfNoneMatch(entityTag string) *FeaturestoresEntityTypesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesOperationsListCall) Context(ctx context.Context) *FeaturestoresEntityTypesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresEntityTypesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *FeaturestoresEntityTypesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type FeaturestoresEntityTypesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *FeaturestoresEntityTypesOperationsService) Wait(name string) *FeaturestoresEntityTypesOperationsWaitCall {
	c := &FeaturestoresEntityTypesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *FeaturestoresEntityTypesOperationsWaitCall) Timeout(timeout string) *FeaturestoresEntityTypesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresEntityTypesOperationsWaitCall) Fields(s ...googleapi.Field) *FeaturestoresEntityTypesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresEntityTypesOperationsWaitCall) Context(ctx context.Context) *FeaturestoresEntityTypesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresEntityTypesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresEntityTypesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.entityTypes.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresEntityTypesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.entityTypes.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *FeaturestoresOperationsService) Cancel(name string) *FeaturestoresOperationsCancelCall {
	c := &FeaturestoresOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresOperationsCancelCall) Fields(s ...googleapi.Field) *FeaturestoresOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresOperationsCancelCall) Context(ctx context.Context) *FeaturestoresOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeaturestoresOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *FeaturestoresOperationsService) Delete(name string) *FeaturestoresOperationsDeleteCall {
	c := &FeaturestoresOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresOperationsDeleteCall) Fields(s ...googleapi.Field) *FeaturestoresOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresOperationsDeleteCall) Context(ctx context.Context) *FeaturestoresOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *FeaturestoresOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *FeaturestoresOperationsService) Get(name string) *FeaturestoresOperationsGetCall {
	c := &FeaturestoresOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresOperationsGetCall) Fields(s ...googleapi.Field) *FeaturestoresOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeaturestoresOperationsGetCall) IfNoneMatch(entityTag string) *FeaturestoresOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresOperationsGetCall) Context(ctx context.Context) *FeaturestoresOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type FeaturestoresOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *FeaturestoresOperationsService) List(name string) *FeaturestoresOperationsListCall {
	c := &FeaturestoresOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *FeaturestoresOperationsListCall) Filter(filter string) *FeaturestoresOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *FeaturestoresOperationsListCall) PageSize(pageSize int64) *FeaturestoresOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *FeaturestoresOperationsListCall) PageToken(pageToken string) *FeaturestoresOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *FeaturestoresOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *FeaturestoresOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresOperationsListCall) Fields(s ...googleapi.Field) *FeaturestoresOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *FeaturestoresOperationsListCall) IfNoneMatch(entityTag string) *FeaturestoresOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresOperationsListCall) Context(ctx context.Context) *FeaturestoresOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *FeaturestoresOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type FeaturestoresOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *FeaturestoresOperationsService) Wait(name string) *FeaturestoresOperationsWaitCall {
	c := &FeaturestoresOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *FeaturestoresOperationsWaitCall) Timeout(timeout string) *FeaturestoresOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *FeaturestoresOperationsWaitCall) Fields(s ...googleapi.Field) *FeaturestoresOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *FeaturestoresOperationsWaitCall) Context(ctx context.Context) *FeaturestoresOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *FeaturestoresOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FeaturestoresOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.featurestores.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturestoresOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.featurestores.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type HyperparameterTuningJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *HyperparameterTuningJobsOperationsService) Cancel(name string) *HyperparameterTuningJobsOperationsCancelCall {
	c := &HyperparameterTuningJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *HyperparameterTuningJobsOperationsCancelCall) Fields(s ...googleapi.Field) *HyperparameterTuningJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *HyperparameterTuningJobsOperationsCancelCall) Context(ctx context.Context) *HyperparameterTuningJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *HyperparameterTuningJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *HyperparameterTuningJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.hyperparameterTuningJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *HyperparameterTuningJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type HyperparameterTuningJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *HyperparameterTuningJobsOperationsService) Delete(name string) *HyperparameterTuningJobsOperationsDeleteCall {
	c := &HyperparameterTuningJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *HyperparameterTuningJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *HyperparameterTuningJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *HyperparameterTuningJobsOperationsDeleteCall) Context(ctx context.Context) *HyperparameterTuningJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *HyperparameterTuningJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *HyperparameterTuningJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.hyperparameterTuningJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *HyperparameterTuningJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type HyperparameterTuningJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *HyperparameterTuningJobsOperationsService) Get(name string) *HyperparameterTuningJobsOperationsGetCall {
	c := &HyperparameterTuningJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *HyperparameterTuningJobsOperationsGetCall) Fields(s ...googleapi.Field) *HyperparameterTuningJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *HyperparameterTuningJobsOperationsGetCall) IfNoneMatch(entityTag string) *HyperparameterTuningJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *HyperparameterTuningJobsOperationsGetCall) Context(ctx context.Context) *HyperparameterTuningJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *HyperparameterTuningJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *HyperparameterTuningJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.hyperparameterTuningJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *HyperparameterTuningJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type HyperparameterTuningJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *HyperparameterTuningJobsOperationsService) List(name string) *HyperparameterTuningJobsOperationsListCall {
	c := &HyperparameterTuningJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *HyperparameterTuningJobsOperationsListCall) Filter(filter string) *HyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *HyperparameterTuningJobsOperationsListCall) PageSize(pageSize int64) *HyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *HyperparameterTuningJobsOperationsListCall) PageToken(pageToken string) *HyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *HyperparameterTuningJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *HyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *HyperparameterTuningJobsOperationsListCall) Fields(s ...googleapi.Field) *HyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *HyperparameterTuningJobsOperationsListCall) IfNoneMatch(entityTag string) *HyperparameterTuningJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *HyperparameterTuningJobsOperationsListCall) Context(ctx context.Context) *HyperparameterTuningJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *HyperparameterTuningJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *HyperparameterTuningJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.hyperparameterTuningJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *HyperparameterTuningJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *HyperparameterTuningJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type HyperparameterTuningJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *HyperparameterTuningJobsOperationsService) Wait(name string) *HyperparameterTuningJobsOperationsWaitCall {
	c := &HyperparameterTuningJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *HyperparameterTuningJobsOperationsWaitCall) Timeout(timeout string) *HyperparameterTuningJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *HyperparameterTuningJobsOperationsWaitCall) Fields(s ...googleapi.Field) *HyperparameterTuningJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *HyperparameterTuningJobsOperationsWaitCall) Context(ctx context.Context) *HyperparameterTuningJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *HyperparameterTuningJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *HyperparameterTuningJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.hyperparameterTuningJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *HyperparameterTuningJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.hyperparameterTuningJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexEndpointsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *IndexEndpointsOperationsService) Cancel(name string) *IndexEndpointsOperationsCancelCall {
	c := &IndexEndpointsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexEndpointsOperationsCancelCall) Fields(s ...googleapi.Field) *IndexEndpointsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexEndpointsOperationsCancelCall) Context(ctx context.Context) *IndexEndpointsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexEndpointsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexEndpointsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexEndpoints.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *IndexEndpointsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexEndpointsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *IndexEndpointsOperationsService) Delete(name string) *IndexEndpointsOperationsDeleteCall {
	c := &IndexEndpointsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexEndpointsOperationsDeleteCall) Fields(s ...googleapi.Field) *IndexEndpointsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexEndpointsOperationsDeleteCall) Context(ctx context.Context) *IndexEndpointsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexEndpointsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexEndpointsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexEndpoints.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *IndexEndpointsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexEndpointsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *IndexEndpointsOperationsService) Get(name string) *IndexEndpointsOperationsGetCall {
	c := &IndexEndpointsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexEndpointsOperationsGetCall) Fields(s ...googleapi.Field) *IndexEndpointsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *IndexEndpointsOperationsGetCall) IfNoneMatch(entityTag string) *IndexEndpointsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexEndpointsOperationsGetCall) Context(ctx context.Context) *IndexEndpointsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexEndpointsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexEndpointsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexEndpoints.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *IndexEndpointsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexEndpointsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *IndexEndpointsOperationsService) List(name string) *IndexEndpointsOperationsListCall {
	c := &IndexEndpointsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *IndexEndpointsOperationsListCall) Filter(filter string) *IndexEndpointsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *IndexEndpointsOperationsListCall) PageSize(pageSize int64) *IndexEndpointsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *IndexEndpointsOperationsListCall) PageToken(pageToken string) *IndexEndpointsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *IndexEndpointsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *IndexEndpointsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexEndpointsOperationsListCall) Fields(s ...googleapi.Field) *IndexEndpointsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *IndexEndpointsOperationsListCall) IfNoneMatch(entityTag string) *IndexEndpointsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexEndpointsOperationsListCall) Context(ctx context.Context) *IndexEndpointsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexEndpointsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexEndpointsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexEndpoints.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *IndexEndpointsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *IndexEndpointsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type IndexEndpointsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *IndexEndpointsOperationsService) Wait(name string) *IndexEndpointsOperationsWaitCall {
	c := &IndexEndpointsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *IndexEndpointsOperationsWaitCall) Timeout(timeout string) *IndexEndpointsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexEndpointsOperationsWaitCall) Fields(s ...googleapi.Field) *IndexEndpointsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexEndpointsOperationsWaitCall) Context(ctx context.Context) *IndexEndpointsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexEndpointsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexEndpointsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexEndpoints.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *IndexEndpointsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexEndpoints.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *IndexesOperationsService) Cancel(name string) *IndexesOperationsCancelCall {
	c := &IndexesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexesOperationsCancelCall) Fields(s ...googleapi.Field) *IndexesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexesOperationsCancelCall) Context(ctx context.Context) *IndexesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexes.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *IndexesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *IndexesOperationsService) Delete(name string) *IndexesOperationsDeleteCall {
	c := &IndexesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexesOperationsDeleteCall) Fields(s ...googleapi.Field) *IndexesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexesOperationsDeleteCall) Context(ctx context.Context) *IndexesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexes.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *IndexesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *IndexesOperationsService) Get(name string) *IndexesOperationsGetCall {
	c := &IndexesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexesOperationsGetCall) Fields(s ...googleapi.Field) *IndexesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *IndexesOperationsGetCall) IfNoneMatch(entityTag string) *IndexesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexesOperationsGetCall) Context(ctx context.Context) *IndexesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexes.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *IndexesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type IndexesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *IndexesOperationsService) List(name string) *IndexesOperationsListCall {
	c := &IndexesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *IndexesOperationsListCall) Filter(filter string) *IndexesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *IndexesOperationsListCall) PageSize(pageSize int64) *IndexesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *IndexesOperationsListCall) PageToken(pageToken string) *IndexesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *IndexesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *IndexesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexesOperationsListCall) Fields(s ...googleapi.Field) *IndexesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *IndexesOperationsListCall) IfNoneMatch(entityTag string) *IndexesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexesOperationsListCall) Context(ctx context.Context) *IndexesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexes.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *IndexesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *IndexesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type IndexesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *IndexesOperationsService) Wait(name string) *IndexesOperationsWaitCall {
	c := &IndexesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *IndexesOperationsWaitCall) Timeout(timeout string) *IndexesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *IndexesOperationsWaitCall) Fields(s ...googleapi.Field) *IndexesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *IndexesOperationsWaitCall) Context(ctx context.Context) *IndexesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *IndexesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *IndexesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.indexes.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *IndexesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.indexes.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MediaUploadCall struct {
	s                                           *Service
	parent                                      string
	googlecloudaiplatformv1uploadragfilerequest *GoogleCloudAiplatformV1UploadRagFileRequest
	urlParams_                                  gensupport.URLParams
	mediaInfo_                                  *gensupport.MediaInfo
	ctx_                                        context.Context
	header_                                     http.Header
}

// Upload: Upload a file into a RagCorpus.
//
//   - parent: The name of the RagCorpus resource into which to upload the file.
//     Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`.
func (r *MediaService) Upload(parent string, googlecloudaiplatformv1uploadragfilerequest *GoogleCloudAiplatformV1UploadRagFileRequest) *MediaUploadCall {
	c := &MediaUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1uploadragfilerequest = googlecloudaiplatformv1uploadragfilerequest
	return c
}

// Media specifies the media to upload in one or more chunks. The chunk size
// may be controlled by supplying a MediaOption generated by
// googleapi.ChunkSize. The chunk size defaults to
// googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
// request will be determined by sniffing the contents of r, unless a
// MediaOption generated by googleapi.ContentType is supplied.
// At most one of Media and ResumableMedia may be set.
func (c *MediaUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *MediaUploadCall {
	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
	return c
}

// ResumableMedia specifies the media to upload in chunks and can be canceled
// with ctx.
//
// Deprecated: use Media instead.
//
// At most one of Media and ResumableMedia may be set. mediaType identifies the
// MIME media type of the upload, such as "image/png". If mediaType is "", it
// will be auto-detected. The provided ctx will supersede any context
// previously provided to the Context method.
func (c *MediaUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MediaUploadCall {
	c.ctx_ = ctx
	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
	return c
}

// ProgressUpdater provides a callback function that will be called after every
// chunk. It should be a low-latency function in order to not slow down the
// upload operation. This should only be called when using ResumableMedia (as
// opposed to Media).
func (c *MediaUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MediaUploadCall {
	c.mediaInfo_.SetProgressUpdater(pu)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MediaUploadCall) Fields(s ...googleapi.Field) *MediaUploadCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
// This context will supersede any context previously provided to the
// ResumableMedia method.
func (c *MediaUploadCall) Context(ctx context.Context) *MediaUploadCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MediaUploadCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MediaUploadCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1uploadragfilerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/ragFiles:upload")
	if c.mediaInfo_ != nil {
		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v1/{+parent}/ragFiles:upload")
		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
	}
	newBody, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
	defer cleanup()
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, newBody)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	req.GetBody = getBody
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.media.upload", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.media.upload" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1UploadRagFileResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MediaUploadCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1UploadRagFileResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
	if rx != nil {
		rx.Client = c.s.client
		rx.UserAgent = c.s.userAgent()
		ctx := c.ctx_
		if ctx == nil {
			ctx = context.TODO()
		}
		res, err = rx.Upload(ctx)
		if err != nil {
			return nil, err
		}
		defer res.Body.Close()
		if err := googleapi.CheckResponse(res); err != nil {
			return nil, gensupport.WrapError(err)
		}
	}
	ret := &GoogleCloudAiplatformV1UploadRagFileResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.media.upload", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresArtifactsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *MetadataStoresArtifactsOperationsService) Cancel(name string) *MetadataStoresArtifactsOperationsCancelCall {
	c := &MetadataStoresArtifactsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresArtifactsOperationsCancelCall) Fields(s ...googleapi.Field) *MetadataStoresArtifactsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresArtifactsOperationsCancelCall) Context(ctx context.Context) *MetadataStoresArtifactsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresArtifactsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresArtifactsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.artifacts.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresArtifactsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresArtifactsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *MetadataStoresArtifactsOperationsService) Delete(name string) *MetadataStoresArtifactsOperationsDeleteCall {
	c := &MetadataStoresArtifactsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresArtifactsOperationsDeleteCall) Fields(s ...googleapi.Field) *MetadataStoresArtifactsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresArtifactsOperationsDeleteCall) Context(ctx context.Context) *MetadataStoresArtifactsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresArtifactsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresArtifactsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.artifacts.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresArtifactsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresArtifactsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *MetadataStoresArtifactsOperationsService) Get(name string) *MetadataStoresArtifactsOperationsGetCall {
	c := &MetadataStoresArtifactsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresArtifactsOperationsGetCall) Fields(s ...googleapi.Field) *MetadataStoresArtifactsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresArtifactsOperationsGetCall) IfNoneMatch(entityTag string) *MetadataStoresArtifactsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresArtifactsOperationsGetCall) Context(ctx context.Context) *MetadataStoresArtifactsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresArtifactsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresArtifactsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.artifacts.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresArtifactsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresArtifactsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *MetadataStoresArtifactsOperationsService) List(name string) *MetadataStoresArtifactsOperationsListCall {
	c := &MetadataStoresArtifactsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *MetadataStoresArtifactsOperationsListCall) Filter(filter string) *MetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *MetadataStoresArtifactsOperationsListCall) PageSize(pageSize int64) *MetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *MetadataStoresArtifactsOperationsListCall) PageToken(pageToken string) *MetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *MetadataStoresArtifactsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresArtifactsOperationsListCall) Fields(s ...googleapi.Field) *MetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresArtifactsOperationsListCall) IfNoneMatch(entityTag string) *MetadataStoresArtifactsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresArtifactsOperationsListCall) Context(ctx context.Context) *MetadataStoresArtifactsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresArtifactsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresArtifactsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.artifacts.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresArtifactsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *MetadataStoresArtifactsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type MetadataStoresArtifactsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *MetadataStoresArtifactsOperationsService) Wait(name string) *MetadataStoresArtifactsOperationsWaitCall {
	c := &MetadataStoresArtifactsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *MetadataStoresArtifactsOperationsWaitCall) Timeout(timeout string) *MetadataStoresArtifactsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresArtifactsOperationsWaitCall) Fields(s ...googleapi.Field) *MetadataStoresArtifactsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresArtifactsOperationsWaitCall) Context(ctx context.Context) *MetadataStoresArtifactsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresArtifactsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresArtifactsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.artifacts.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresArtifactsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.artifacts.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresContextsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *MetadataStoresContextsOperationsService) Cancel(name string) *MetadataStoresContextsOperationsCancelCall {
	c := &MetadataStoresContextsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresContextsOperationsCancelCall) Fields(s ...googleapi.Field) *MetadataStoresContextsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresContextsOperationsCancelCall) Context(ctx context.Context) *MetadataStoresContextsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresContextsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresContextsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.contexts.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresContextsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresContextsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *MetadataStoresContextsOperationsService) Delete(name string) *MetadataStoresContextsOperationsDeleteCall {
	c := &MetadataStoresContextsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresContextsOperationsDeleteCall) Fields(s ...googleapi.Field) *MetadataStoresContextsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresContextsOperationsDeleteCall) Context(ctx context.Context) *MetadataStoresContextsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresContextsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresContextsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.contexts.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresContextsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresContextsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *MetadataStoresContextsOperationsService) Get(name string) *MetadataStoresContextsOperationsGetCall {
	c := &MetadataStoresContextsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresContextsOperationsGetCall) Fields(s ...googleapi.Field) *MetadataStoresContextsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresContextsOperationsGetCall) IfNoneMatch(entityTag string) *MetadataStoresContextsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresContextsOperationsGetCall) Context(ctx context.Context) *MetadataStoresContextsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresContextsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresContextsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.contexts.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresContextsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresContextsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *MetadataStoresContextsOperationsService) List(name string) *MetadataStoresContextsOperationsListCall {
	c := &MetadataStoresContextsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *MetadataStoresContextsOperationsListCall) Filter(filter string) *MetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *MetadataStoresContextsOperationsListCall) PageSize(pageSize int64) *MetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *MetadataStoresContextsOperationsListCall) PageToken(pageToken string) *MetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *MetadataStoresContextsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresContextsOperationsListCall) Fields(s ...googleapi.Field) *MetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresContextsOperationsListCall) IfNoneMatch(entityTag string) *MetadataStoresContextsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresContextsOperationsListCall) Context(ctx context.Context) *MetadataStoresContextsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresContextsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresContextsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.contexts.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresContextsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *MetadataStoresContextsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type MetadataStoresContextsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *MetadataStoresContextsOperationsService) Wait(name string) *MetadataStoresContextsOperationsWaitCall {
	c := &MetadataStoresContextsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *MetadataStoresContextsOperationsWaitCall) Timeout(timeout string) *MetadataStoresContextsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresContextsOperationsWaitCall) Fields(s ...googleapi.Field) *MetadataStoresContextsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresContextsOperationsWaitCall) Context(ctx context.Context) *MetadataStoresContextsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresContextsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresContextsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.contexts.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresContextsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.contexts.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresExecutionsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *MetadataStoresExecutionsOperationsService) Cancel(name string) *MetadataStoresExecutionsOperationsCancelCall {
	c := &MetadataStoresExecutionsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresExecutionsOperationsCancelCall) Fields(s ...googleapi.Field) *MetadataStoresExecutionsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresExecutionsOperationsCancelCall) Context(ctx context.Context) *MetadataStoresExecutionsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresExecutionsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresExecutionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.executions.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresExecutionsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresExecutionsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *MetadataStoresExecutionsOperationsService) Delete(name string) *MetadataStoresExecutionsOperationsDeleteCall {
	c := &MetadataStoresExecutionsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresExecutionsOperationsDeleteCall) Fields(s ...googleapi.Field) *MetadataStoresExecutionsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresExecutionsOperationsDeleteCall) Context(ctx context.Context) *MetadataStoresExecutionsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresExecutionsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresExecutionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.executions.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresExecutionsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresExecutionsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *MetadataStoresExecutionsOperationsService) Get(name string) *MetadataStoresExecutionsOperationsGetCall {
	c := &MetadataStoresExecutionsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresExecutionsOperationsGetCall) Fields(s ...googleapi.Field) *MetadataStoresExecutionsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresExecutionsOperationsGetCall) IfNoneMatch(entityTag string) *MetadataStoresExecutionsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresExecutionsOperationsGetCall) Context(ctx context.Context) *MetadataStoresExecutionsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresExecutionsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresExecutionsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.executions.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresExecutionsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresExecutionsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *MetadataStoresExecutionsOperationsService) List(name string) *MetadataStoresExecutionsOperationsListCall {
	c := &MetadataStoresExecutionsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *MetadataStoresExecutionsOperationsListCall) Filter(filter string) *MetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *MetadataStoresExecutionsOperationsListCall) PageSize(pageSize int64) *MetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *MetadataStoresExecutionsOperationsListCall) PageToken(pageToken string) *MetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *MetadataStoresExecutionsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresExecutionsOperationsListCall) Fields(s ...googleapi.Field) *MetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresExecutionsOperationsListCall) IfNoneMatch(entityTag string) *MetadataStoresExecutionsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresExecutionsOperationsListCall) Context(ctx context.Context) *MetadataStoresExecutionsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresExecutionsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresExecutionsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.executions.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresExecutionsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *MetadataStoresExecutionsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type MetadataStoresExecutionsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *MetadataStoresExecutionsOperationsService) Wait(name string) *MetadataStoresExecutionsOperationsWaitCall {
	c := &MetadataStoresExecutionsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *MetadataStoresExecutionsOperationsWaitCall) Timeout(timeout string) *MetadataStoresExecutionsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresExecutionsOperationsWaitCall) Fields(s ...googleapi.Field) *MetadataStoresExecutionsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresExecutionsOperationsWaitCall) Context(ctx context.Context) *MetadataStoresExecutionsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresExecutionsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresExecutionsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.executions.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresExecutionsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.executions.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *MetadataStoresOperationsService) Cancel(name string) *MetadataStoresOperationsCancelCall {
	c := &MetadataStoresOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresOperationsCancelCall) Fields(s ...googleapi.Field) *MetadataStoresOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresOperationsCancelCall) Context(ctx context.Context) *MetadataStoresOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *MetadataStoresOperationsService) Delete(name string) *MetadataStoresOperationsDeleteCall {
	c := &MetadataStoresOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresOperationsDeleteCall) Fields(s ...googleapi.Field) *MetadataStoresOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresOperationsDeleteCall) Context(ctx context.Context) *MetadataStoresOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MetadataStoresOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *MetadataStoresOperationsService) Get(name string) *MetadataStoresOperationsGetCall {
	c := &MetadataStoresOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresOperationsGetCall) Fields(s ...googleapi.Field) *MetadataStoresOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresOperationsGetCall) IfNoneMatch(entityTag string) *MetadataStoresOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresOperationsGetCall) Context(ctx context.Context) *MetadataStoresOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MetadataStoresOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *MetadataStoresOperationsService) List(name string) *MetadataStoresOperationsListCall {
	c := &MetadataStoresOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *MetadataStoresOperationsListCall) Filter(filter string) *MetadataStoresOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *MetadataStoresOperationsListCall) PageSize(pageSize int64) *MetadataStoresOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *MetadataStoresOperationsListCall) PageToken(pageToken string) *MetadataStoresOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *MetadataStoresOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MetadataStoresOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresOperationsListCall) Fields(s ...googleapi.Field) *MetadataStoresOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MetadataStoresOperationsListCall) IfNoneMatch(entityTag string) *MetadataStoresOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresOperationsListCall) Context(ctx context.Context) *MetadataStoresOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *MetadataStoresOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type MetadataStoresOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *MetadataStoresOperationsService) Wait(name string) *MetadataStoresOperationsWaitCall {
	c := &MetadataStoresOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *MetadataStoresOperationsWaitCall) Timeout(timeout string) *MetadataStoresOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MetadataStoresOperationsWaitCall) Fields(s ...googleapi.Field) *MetadataStoresOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MetadataStoresOperationsWaitCall) Context(ctx context.Context) *MetadataStoresOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MetadataStoresOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MetadataStoresOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.metadataStores.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MetadataStoresOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.metadataStores.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MigratableResourcesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *MigratableResourcesOperationsService) Cancel(name string) *MigratableResourcesOperationsCancelCall {
	c := &MigratableResourcesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MigratableResourcesOperationsCancelCall) Fields(s ...googleapi.Field) *MigratableResourcesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MigratableResourcesOperationsCancelCall) Context(ctx context.Context) *MigratableResourcesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MigratableResourcesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MigratableResourcesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.migratableResources.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MigratableResourcesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MigratableResourcesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *MigratableResourcesOperationsService) Delete(name string) *MigratableResourcesOperationsDeleteCall {
	c := &MigratableResourcesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MigratableResourcesOperationsDeleteCall) Fields(s ...googleapi.Field) *MigratableResourcesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MigratableResourcesOperationsDeleteCall) Context(ctx context.Context) *MigratableResourcesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MigratableResourcesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MigratableResourcesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.migratableResources.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *MigratableResourcesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MigratableResourcesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *MigratableResourcesOperationsService) Get(name string) *MigratableResourcesOperationsGetCall {
	c := &MigratableResourcesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MigratableResourcesOperationsGetCall) Fields(s ...googleapi.Field) *MigratableResourcesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MigratableResourcesOperationsGetCall) IfNoneMatch(entityTag string) *MigratableResourcesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MigratableResourcesOperationsGetCall) Context(ctx context.Context) *MigratableResourcesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MigratableResourcesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MigratableResourcesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.migratableResources.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MigratableResourcesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type MigratableResourcesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *MigratableResourcesOperationsService) List(name string) *MigratableResourcesOperationsListCall {
	c := &MigratableResourcesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *MigratableResourcesOperationsListCall) Filter(filter string) *MigratableResourcesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *MigratableResourcesOperationsListCall) PageSize(pageSize int64) *MigratableResourcesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *MigratableResourcesOperationsListCall) PageToken(pageToken string) *MigratableResourcesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *MigratableResourcesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *MigratableResourcesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MigratableResourcesOperationsListCall) Fields(s ...googleapi.Field) *MigratableResourcesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *MigratableResourcesOperationsListCall) IfNoneMatch(entityTag string) *MigratableResourcesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MigratableResourcesOperationsListCall) Context(ctx context.Context) *MigratableResourcesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MigratableResourcesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MigratableResourcesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.migratableResources.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MigratableResourcesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *MigratableResourcesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type MigratableResourcesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *MigratableResourcesOperationsService) Wait(name string) *MigratableResourcesOperationsWaitCall {
	c := &MigratableResourcesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *MigratableResourcesOperationsWaitCall) Timeout(timeout string) *MigratableResourcesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *MigratableResourcesOperationsWaitCall) Fields(s ...googleapi.Field) *MigratableResourcesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *MigratableResourcesOperationsWaitCall) Context(ctx context.Context) *MigratableResourcesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *MigratableResourcesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *MigratableResourcesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.migratableResources.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *MigratableResourcesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.migratableResources.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelDeploymentMonitoringJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ModelDeploymentMonitoringJobsOperationsService) Cancel(name string) *ModelDeploymentMonitoringJobsOperationsCancelCall {
	c := &ModelDeploymentMonitoringJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelDeploymentMonitoringJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ModelDeploymentMonitoringJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelDeploymentMonitoringJobsOperationsCancelCall) Context(ctx context.Context) *ModelDeploymentMonitoringJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelDeploymentMonitoringJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelDeploymentMonitoringJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.modelDeploymentMonitoringJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ModelDeploymentMonitoringJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelDeploymentMonitoringJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ModelDeploymentMonitoringJobsOperationsService) Delete(name string) *ModelDeploymentMonitoringJobsOperationsDeleteCall {
	c := &ModelDeploymentMonitoringJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelDeploymentMonitoringJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ModelDeploymentMonitoringJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelDeploymentMonitoringJobsOperationsDeleteCall) Context(ctx context.Context) *ModelDeploymentMonitoringJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelDeploymentMonitoringJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelDeploymentMonitoringJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.modelDeploymentMonitoringJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ModelDeploymentMonitoringJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelDeploymentMonitoringJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ModelDeploymentMonitoringJobsOperationsService) Get(name string) *ModelDeploymentMonitoringJobsOperationsGetCall {
	c := &ModelDeploymentMonitoringJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelDeploymentMonitoringJobsOperationsGetCall) Fields(s ...googleapi.Field) *ModelDeploymentMonitoringJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ModelDeploymentMonitoringJobsOperationsGetCall) IfNoneMatch(entityTag string) *ModelDeploymentMonitoringJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelDeploymentMonitoringJobsOperationsGetCall) Context(ctx context.Context) *ModelDeploymentMonitoringJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelDeploymentMonitoringJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelDeploymentMonitoringJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.modelDeploymentMonitoringJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelDeploymentMonitoringJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelDeploymentMonitoringJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ModelDeploymentMonitoringJobsOperationsService) List(name string) *ModelDeploymentMonitoringJobsOperationsListCall {
	c := &ModelDeploymentMonitoringJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) Filter(filter string) *ModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) PageSize(pageSize int64) *ModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) PageToken(pageToken string) *ModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) Fields(s ...googleapi.Field) *ModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) IfNoneMatch(entityTag string) *ModelDeploymentMonitoringJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) Context(ctx context.Context) *ModelDeploymentMonitoringJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelDeploymentMonitoringJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.modelDeploymentMonitoringJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ModelDeploymentMonitoringJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ModelDeploymentMonitoringJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ModelDeploymentMonitoringJobsOperationsService) Wait(name string) *ModelDeploymentMonitoringJobsOperationsWaitCall {
	c := &ModelDeploymentMonitoringJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ModelDeploymentMonitoringJobsOperationsWaitCall) Timeout(timeout string) *ModelDeploymentMonitoringJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelDeploymentMonitoringJobsOperationsWaitCall) Fields(s ...googleapi.Field) *ModelDeploymentMonitoringJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelDeploymentMonitoringJobsOperationsWaitCall) Context(ctx context.Context) *ModelDeploymentMonitoringJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelDeploymentMonitoringJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelDeploymentMonitoringJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.modelDeploymentMonitoringJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelDeploymentMonitoringJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.modelDeploymentMonitoringJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsEvaluationsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ModelsEvaluationsOperationsService) Cancel(name string) *ModelsEvaluationsOperationsCancelCall {
	c := &ModelsEvaluationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsEvaluationsOperationsCancelCall) Fields(s ...googleapi.Field) *ModelsEvaluationsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsEvaluationsOperationsCancelCall) Context(ctx context.Context) *ModelsEvaluationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsEvaluationsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsEvaluationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.evaluations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ModelsEvaluationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsEvaluationsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ModelsEvaluationsOperationsService) Delete(name string) *ModelsEvaluationsOperationsDeleteCall {
	c := &ModelsEvaluationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsEvaluationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ModelsEvaluationsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsEvaluationsOperationsDeleteCall) Context(ctx context.Context) *ModelsEvaluationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsEvaluationsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsEvaluationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.evaluations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ModelsEvaluationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsEvaluationsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ModelsEvaluationsOperationsService) Get(name string) *ModelsEvaluationsOperationsGetCall {
	c := &ModelsEvaluationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsEvaluationsOperationsGetCall) Fields(s ...googleapi.Field) *ModelsEvaluationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ModelsEvaluationsOperationsGetCall) IfNoneMatch(entityTag string) *ModelsEvaluationsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsEvaluationsOperationsGetCall) Context(ctx context.Context) *ModelsEvaluationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsEvaluationsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsEvaluationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.evaluations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelsEvaluationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsEvaluationsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ModelsEvaluationsOperationsService) List(name string) *ModelsEvaluationsOperationsListCall {
	c := &ModelsEvaluationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ModelsEvaluationsOperationsListCall) Filter(filter string) *ModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ModelsEvaluationsOperationsListCall) PageSize(pageSize int64) *ModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ModelsEvaluationsOperationsListCall) PageToken(pageToken string) *ModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ModelsEvaluationsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsEvaluationsOperationsListCall) Fields(s ...googleapi.Field) *ModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ModelsEvaluationsOperationsListCall) IfNoneMatch(entityTag string) *ModelsEvaluationsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsEvaluationsOperationsListCall) Context(ctx context.Context) *ModelsEvaluationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsEvaluationsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsEvaluationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.evaluations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelsEvaluationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ModelsEvaluationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ModelsEvaluationsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ModelsEvaluationsOperationsService) Wait(name string) *ModelsEvaluationsOperationsWaitCall {
	c := &ModelsEvaluationsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ModelsEvaluationsOperationsWaitCall) Timeout(timeout string) *ModelsEvaluationsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsEvaluationsOperationsWaitCall) Fields(s ...googleapi.Field) *ModelsEvaluationsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsEvaluationsOperationsWaitCall) Context(ctx context.Context) *ModelsEvaluationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsEvaluationsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsEvaluationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.evaluations.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelsEvaluationsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.evaluations.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ModelsOperationsService) Cancel(name string) *ModelsOperationsCancelCall {
	c := &ModelsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsOperationsCancelCall) Fields(s ...googleapi.Field) *ModelsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsOperationsCancelCall) Context(ctx context.Context) *ModelsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ModelsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ModelsOperationsService) Delete(name string) *ModelsOperationsDeleteCall {
	c := &ModelsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsOperationsDeleteCall) Fields(s ...googleapi.Field) *ModelsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsOperationsDeleteCall) Context(ctx context.Context) *ModelsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ModelsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ModelsOperationsService) Get(name string) *ModelsOperationsGetCall {
	c := &ModelsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsOperationsGetCall) Fields(s ...googleapi.Field) *ModelsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ModelsOperationsGetCall) IfNoneMatch(entityTag string) *ModelsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsOperationsGetCall) Context(ctx context.Context) *ModelsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ModelsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ModelsOperationsService) List(name string) *ModelsOperationsListCall {
	c := &ModelsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ModelsOperationsListCall) Filter(filter string) *ModelsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ModelsOperationsListCall) PageSize(pageSize int64) *ModelsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ModelsOperationsListCall) PageToken(pageToken string) *ModelsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ModelsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ModelsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsOperationsListCall) Fields(s ...googleapi.Field) *ModelsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ModelsOperationsListCall) IfNoneMatch(entityTag string) *ModelsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsOperationsListCall) Context(ctx context.Context) *ModelsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ModelsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ModelsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ModelsOperationsService) Wait(name string) *ModelsOperationsWaitCall {
	c := &ModelsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ModelsOperationsWaitCall) Timeout(timeout string) *ModelsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ModelsOperationsWaitCall) Fields(s ...googleapi.Field) *ModelsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ModelsOperationsWaitCall) Context(ctx context.Context) *ModelsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ModelsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ModelsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.models.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.models.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ModelsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.models.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookExecutionJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *NotebookExecutionJobsOperationsService) Cancel(name string) *NotebookExecutionJobsOperationsCancelCall {
	c := &NotebookExecutionJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookExecutionJobsOperationsCancelCall) Fields(s ...googleapi.Field) *NotebookExecutionJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookExecutionJobsOperationsCancelCall) Context(ctx context.Context) *NotebookExecutionJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookExecutionJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookExecutionJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookExecutionJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *NotebookExecutionJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookExecutionJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *NotebookExecutionJobsOperationsService) Delete(name string) *NotebookExecutionJobsOperationsDeleteCall {
	c := &NotebookExecutionJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookExecutionJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *NotebookExecutionJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookExecutionJobsOperationsDeleteCall) Context(ctx context.Context) *NotebookExecutionJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookExecutionJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookExecutionJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookExecutionJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *NotebookExecutionJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookExecutionJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *NotebookExecutionJobsOperationsService) Get(name string) *NotebookExecutionJobsOperationsGetCall {
	c := &NotebookExecutionJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookExecutionJobsOperationsGetCall) Fields(s ...googleapi.Field) *NotebookExecutionJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *NotebookExecutionJobsOperationsGetCall) IfNoneMatch(entityTag string) *NotebookExecutionJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookExecutionJobsOperationsGetCall) Context(ctx context.Context) *NotebookExecutionJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookExecutionJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookExecutionJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookExecutionJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookExecutionJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookExecutionJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *NotebookExecutionJobsOperationsService) List(name string) *NotebookExecutionJobsOperationsListCall {
	c := &NotebookExecutionJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *NotebookExecutionJobsOperationsListCall) Filter(filter string) *NotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *NotebookExecutionJobsOperationsListCall) PageSize(pageSize int64) *NotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *NotebookExecutionJobsOperationsListCall) PageToken(pageToken string) *NotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *NotebookExecutionJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookExecutionJobsOperationsListCall) Fields(s ...googleapi.Field) *NotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *NotebookExecutionJobsOperationsListCall) IfNoneMatch(entityTag string) *NotebookExecutionJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookExecutionJobsOperationsListCall) Context(ctx context.Context) *NotebookExecutionJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookExecutionJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookExecutionJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookExecutionJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookExecutionJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *NotebookExecutionJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type NotebookExecutionJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *NotebookExecutionJobsOperationsService) Wait(name string) *NotebookExecutionJobsOperationsWaitCall {
	c := &NotebookExecutionJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *NotebookExecutionJobsOperationsWaitCall) Timeout(timeout string) *NotebookExecutionJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookExecutionJobsOperationsWaitCall) Fields(s ...googleapi.Field) *NotebookExecutionJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookExecutionJobsOperationsWaitCall) Context(ctx context.Context) *NotebookExecutionJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookExecutionJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookExecutionJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookExecutionJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookExecutionJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookExecutionJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimeTemplatesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *NotebookRuntimeTemplatesOperationsService) Cancel(name string) *NotebookRuntimeTemplatesOperationsCancelCall {
	c := &NotebookRuntimeTemplatesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimeTemplatesOperationsCancelCall) Fields(s ...googleapi.Field) *NotebookRuntimeTemplatesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimeTemplatesOperationsCancelCall) Context(ctx context.Context) *NotebookRuntimeTemplatesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimeTemplatesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimeTemplatesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimeTemplates.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *NotebookRuntimeTemplatesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimeTemplatesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *NotebookRuntimeTemplatesOperationsService) Delete(name string) *NotebookRuntimeTemplatesOperationsDeleteCall {
	c := &NotebookRuntimeTemplatesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimeTemplatesOperationsDeleteCall) Fields(s ...googleapi.Field) *NotebookRuntimeTemplatesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimeTemplatesOperationsDeleteCall) Context(ctx context.Context) *NotebookRuntimeTemplatesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimeTemplatesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimeTemplatesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimeTemplates.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *NotebookRuntimeTemplatesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimeTemplatesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *NotebookRuntimeTemplatesOperationsService) Get(name string) *NotebookRuntimeTemplatesOperationsGetCall {
	c := &NotebookRuntimeTemplatesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimeTemplatesOperationsGetCall) Fields(s ...googleapi.Field) *NotebookRuntimeTemplatesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *NotebookRuntimeTemplatesOperationsGetCall) IfNoneMatch(entityTag string) *NotebookRuntimeTemplatesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimeTemplatesOperationsGetCall) Context(ctx context.Context) *NotebookRuntimeTemplatesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimeTemplatesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimeTemplatesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimeTemplates.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookRuntimeTemplatesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimeTemplatesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *NotebookRuntimeTemplatesOperationsService) List(name string) *NotebookRuntimeTemplatesOperationsListCall {
	c := &NotebookRuntimeTemplatesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *NotebookRuntimeTemplatesOperationsListCall) Filter(filter string) *NotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *NotebookRuntimeTemplatesOperationsListCall) PageSize(pageSize int64) *NotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *NotebookRuntimeTemplatesOperationsListCall) PageToken(pageToken string) *NotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *NotebookRuntimeTemplatesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimeTemplatesOperationsListCall) Fields(s ...googleapi.Field) *NotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *NotebookRuntimeTemplatesOperationsListCall) IfNoneMatch(entityTag string) *NotebookRuntimeTemplatesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimeTemplatesOperationsListCall) Context(ctx context.Context) *NotebookRuntimeTemplatesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimeTemplatesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimeTemplatesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimeTemplates.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookRuntimeTemplatesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *NotebookRuntimeTemplatesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type NotebookRuntimeTemplatesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *NotebookRuntimeTemplatesOperationsService) Wait(name string) *NotebookRuntimeTemplatesOperationsWaitCall {
	c := &NotebookRuntimeTemplatesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *NotebookRuntimeTemplatesOperationsWaitCall) Timeout(timeout string) *NotebookRuntimeTemplatesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimeTemplatesOperationsWaitCall) Fields(s ...googleapi.Field) *NotebookRuntimeTemplatesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimeTemplatesOperationsWaitCall) Context(ctx context.Context) *NotebookRuntimeTemplatesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimeTemplatesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimeTemplatesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimeTemplates.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookRuntimeTemplatesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimeTemplates.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *NotebookRuntimesOperationsService) Cancel(name string) *NotebookRuntimesOperationsCancelCall {
	c := &NotebookRuntimesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimesOperationsCancelCall) Fields(s ...googleapi.Field) *NotebookRuntimesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimesOperationsCancelCall) Context(ctx context.Context) *NotebookRuntimesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimes.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *NotebookRuntimesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *NotebookRuntimesOperationsService) Delete(name string) *NotebookRuntimesOperationsDeleteCall {
	c := &NotebookRuntimesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimesOperationsDeleteCall) Fields(s ...googleapi.Field) *NotebookRuntimesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimesOperationsDeleteCall) Context(ctx context.Context) *NotebookRuntimesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimes.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *NotebookRuntimesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *NotebookRuntimesOperationsService) Get(name string) *NotebookRuntimesOperationsGetCall {
	c := &NotebookRuntimesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimesOperationsGetCall) Fields(s ...googleapi.Field) *NotebookRuntimesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *NotebookRuntimesOperationsGetCall) IfNoneMatch(entityTag string) *NotebookRuntimesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimesOperationsGetCall) Context(ctx context.Context) *NotebookRuntimesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimes.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookRuntimesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type NotebookRuntimesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *NotebookRuntimesOperationsService) List(name string) *NotebookRuntimesOperationsListCall {
	c := &NotebookRuntimesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *NotebookRuntimesOperationsListCall) Filter(filter string) *NotebookRuntimesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *NotebookRuntimesOperationsListCall) PageSize(pageSize int64) *NotebookRuntimesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *NotebookRuntimesOperationsListCall) PageToken(pageToken string) *NotebookRuntimesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *NotebookRuntimesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NotebookRuntimesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimesOperationsListCall) Fields(s ...googleapi.Field) *NotebookRuntimesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *NotebookRuntimesOperationsListCall) IfNoneMatch(entityTag string) *NotebookRuntimesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimesOperationsListCall) Context(ctx context.Context) *NotebookRuntimesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimes.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookRuntimesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *NotebookRuntimesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type NotebookRuntimesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *NotebookRuntimesOperationsService) Wait(name string) *NotebookRuntimesOperationsWaitCall {
	c := &NotebookRuntimesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *NotebookRuntimesOperationsWaitCall) Timeout(timeout string) *NotebookRuntimesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *NotebookRuntimesOperationsWaitCall) Fields(s ...googleapi.Field) *NotebookRuntimesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *NotebookRuntimesOperationsWaitCall) Context(ctx context.Context) *NotebookRuntimesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *NotebookRuntimesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *NotebookRuntimesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.notebookRuntimes.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *NotebookRuntimesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.notebookRuntimes.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type OperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *OperationsService) Cancel(name string) *OperationsCancelCall {
	c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *OperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type OperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *OperationsService) Delete(name string) *OperationsDeleteCall {
	c := &OperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *OperationsDeleteCall) Fields(s ...googleapi.Field) *OperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *OperationsDeleteCall) Context(ctx context.Context) *OperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *OperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *OperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type OperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *OperationsService) Get(name string) *OperationsGetCall {
	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *OperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type OperationsListCall struct {
	s            *Service
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
func (r *OperationsService) List() *OperationsListCall {
	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// Name sets the optional parameter "name": The name of the operation's parent
// resource.
func (c *OperationsListCall) Name(name string) *OperationsListCall {
	c.urlParams_.Set("name", name)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *OperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *OperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *OperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *OperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type OperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *OperationsService) Wait(name string) *OperationsWaitCall {
	c := &OperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *OperationsWaitCall) Timeout(timeout string) *OperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *OperationsWaitCall) Fields(s ...googleapi.Field) *OperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *OperationsWaitCall) Context(ctx context.Context) *OperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *OperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *OperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *OperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PersistentResourcesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *PersistentResourcesOperationsService) Cancel(name string) *PersistentResourcesOperationsCancelCall {
	c := &PersistentResourcesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PersistentResourcesOperationsCancelCall) Fields(s ...googleapi.Field) *PersistentResourcesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PersistentResourcesOperationsCancelCall) Context(ctx context.Context) *PersistentResourcesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PersistentResourcesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PersistentResourcesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.persistentResources.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *PersistentResourcesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PersistentResourcesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *PersistentResourcesOperationsService) Delete(name string) *PersistentResourcesOperationsDeleteCall {
	c := &PersistentResourcesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PersistentResourcesOperationsDeleteCall) Fields(s ...googleapi.Field) *PersistentResourcesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PersistentResourcesOperationsDeleteCall) Context(ctx context.Context) *PersistentResourcesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PersistentResourcesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PersistentResourcesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.persistentResources.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *PersistentResourcesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PersistentResourcesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *PersistentResourcesOperationsService) Get(name string) *PersistentResourcesOperationsGetCall {
	c := &PersistentResourcesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PersistentResourcesOperationsGetCall) Fields(s ...googleapi.Field) *PersistentResourcesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *PersistentResourcesOperationsGetCall) IfNoneMatch(entityTag string) *PersistentResourcesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PersistentResourcesOperationsGetCall) Context(ctx context.Context) *PersistentResourcesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PersistentResourcesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PersistentResourcesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.persistentResources.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PersistentResourcesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PersistentResourcesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *PersistentResourcesOperationsService) List(name string) *PersistentResourcesOperationsListCall {
	c := &PersistentResourcesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *PersistentResourcesOperationsListCall) Filter(filter string) *PersistentResourcesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *PersistentResourcesOperationsListCall) PageSize(pageSize int64) *PersistentResourcesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *PersistentResourcesOperationsListCall) PageToken(pageToken string) *PersistentResourcesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *PersistentResourcesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PersistentResourcesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PersistentResourcesOperationsListCall) Fields(s ...googleapi.Field) *PersistentResourcesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *PersistentResourcesOperationsListCall) IfNoneMatch(entityTag string) *PersistentResourcesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PersistentResourcesOperationsListCall) Context(ctx context.Context) *PersistentResourcesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PersistentResourcesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PersistentResourcesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.persistentResources.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PersistentResourcesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *PersistentResourcesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type PersistentResourcesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *PersistentResourcesOperationsService) Wait(name string) *PersistentResourcesOperationsWaitCall {
	c := &PersistentResourcesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *PersistentResourcesOperationsWaitCall) Timeout(timeout string) *PersistentResourcesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PersistentResourcesOperationsWaitCall) Fields(s ...googleapi.Field) *PersistentResourcesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PersistentResourcesOperationsWaitCall) Context(ctx context.Context) *PersistentResourcesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PersistentResourcesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PersistentResourcesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.persistentResources.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PersistentResourcesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.persistentResources.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PipelineJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *PipelineJobsOperationsService) Cancel(name string) *PipelineJobsOperationsCancelCall {
	c := &PipelineJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PipelineJobsOperationsCancelCall) Fields(s ...googleapi.Field) *PipelineJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PipelineJobsOperationsCancelCall) Context(ctx context.Context) *PipelineJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PipelineJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PipelineJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.pipelineJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *PipelineJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PipelineJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *PipelineJobsOperationsService) Delete(name string) *PipelineJobsOperationsDeleteCall {
	c := &PipelineJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PipelineJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *PipelineJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PipelineJobsOperationsDeleteCall) Context(ctx context.Context) *PipelineJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PipelineJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PipelineJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.pipelineJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *PipelineJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PipelineJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *PipelineJobsOperationsService) Get(name string) *PipelineJobsOperationsGetCall {
	c := &PipelineJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PipelineJobsOperationsGetCall) Fields(s ...googleapi.Field) *PipelineJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *PipelineJobsOperationsGetCall) IfNoneMatch(entityTag string) *PipelineJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PipelineJobsOperationsGetCall) Context(ctx context.Context) *PipelineJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PipelineJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PipelineJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.pipelineJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PipelineJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PipelineJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *PipelineJobsOperationsService) List(name string) *PipelineJobsOperationsListCall {
	c := &PipelineJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *PipelineJobsOperationsListCall) Filter(filter string) *PipelineJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *PipelineJobsOperationsListCall) PageSize(pageSize int64) *PipelineJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *PipelineJobsOperationsListCall) PageToken(pageToken string) *PipelineJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *PipelineJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *PipelineJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PipelineJobsOperationsListCall) Fields(s ...googleapi.Field) *PipelineJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *PipelineJobsOperationsListCall) IfNoneMatch(entityTag string) *PipelineJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PipelineJobsOperationsListCall) Context(ctx context.Context) *PipelineJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PipelineJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PipelineJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.pipelineJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PipelineJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *PipelineJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type PipelineJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *PipelineJobsOperationsService) Wait(name string) *PipelineJobsOperationsWaitCall {
	c := &PipelineJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *PipelineJobsOperationsWaitCall) Timeout(timeout string) *PipelineJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PipelineJobsOperationsWaitCall) Fields(s ...googleapi.Field) *PipelineJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PipelineJobsOperationsWaitCall) Context(ctx context.Context) *PipelineJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PipelineJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PipelineJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.pipelineJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PipelineJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.pipelineJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsGetCacheConfigCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// GetCacheConfig: Gets a GenAI cache config.
//
//   - name: Name of the cache config. Format: -
//     `projects/{project}/cacheConfig`.
func (r *ProjectsService) GetCacheConfig(name string) *ProjectsGetCacheConfigCall {
	c := &ProjectsGetCacheConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsGetCacheConfigCall) Fields(s ...googleapi.Field) *ProjectsGetCacheConfigCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsGetCacheConfigCall) IfNoneMatch(entityTag string) *ProjectsGetCacheConfigCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsGetCacheConfigCall) Context(ctx context.Context) *ProjectsGetCacheConfigCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsGetCacheConfigCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsGetCacheConfigCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.getCacheConfig", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.getCacheConfig" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CacheConfig.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsGetCacheConfigCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CacheConfig, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CacheConfig{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.getCacheConfig", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsUpdateCacheConfigCall struct {
	s                                  *Service
	name                               string
	googlecloudaiplatformv1cacheconfig *GoogleCloudAiplatformV1CacheConfig
	urlParams_                         gensupport.URLParams
	ctx_                               context.Context
	header_                            http.Header
}

// UpdateCacheConfig: Updates a cache config.
//
//   - name: Identifier. Name of the cache config. Format: -
//     `projects/{project}/cacheConfig`.
func (r *ProjectsService) UpdateCacheConfig(name string, googlecloudaiplatformv1cacheconfig *GoogleCloudAiplatformV1CacheConfig) *ProjectsUpdateCacheConfigCall {
	c := &ProjectsUpdateCacheConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cacheconfig = googlecloudaiplatformv1cacheconfig
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsUpdateCacheConfigCall) Fields(s ...googleapi.Field) *ProjectsUpdateCacheConfigCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsUpdateCacheConfigCall) Context(ctx context.Context) *ProjectsUpdateCacheConfigCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsUpdateCacheConfigCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsUpdateCacheConfigCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cacheconfig)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.updateCacheConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.updateCacheConfig" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsUpdateCacheConfigCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.updateCacheConfig", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAskContextsCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1askcontextsrequest *GoogleCloudAiplatformV1AskContextsRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// AskContexts: Agentic Retrieval Ask API for RAG.
//
//   - parent: The resource name of the Location from which to retrieve
//     RagContexts. The users must have permission to make a call in the project.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) AskContexts(parent string, googlecloudaiplatformv1askcontextsrequest *GoogleCloudAiplatformV1AskContextsRequest) *ProjectsLocationsAskContextsCall {
	c := &ProjectsLocationsAskContextsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1askcontextsrequest = googlecloudaiplatformv1askcontextsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAskContextsCall) Fields(s ...googleapi.Field) *ProjectsLocationsAskContextsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAskContextsCall) Context(ctx context.Context) *ProjectsLocationsAskContextsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAskContextsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAskContextsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1askcontextsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:askContexts")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.askContexts", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.askContexts" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1AskContextsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAskContextsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1AskContextsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1AskContextsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.askContexts", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAsyncRetrieveContextsCall struct {
	s                                                   *Service
	parent                                              string
	googlecloudaiplatformv1asyncretrievecontextsrequest *GoogleCloudAiplatformV1AsyncRetrieveContextsRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// AsyncRetrieveContexts: Asynchronous API to retrieves relevant contexts for a
// query.
//
//   - parent: The resource name of the Location from which to retrieve
//     RagContexts. The users must have permission to make a call in the project.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) AsyncRetrieveContexts(parent string, googlecloudaiplatformv1asyncretrievecontextsrequest *GoogleCloudAiplatformV1AsyncRetrieveContextsRequest) *ProjectsLocationsAsyncRetrieveContextsCall {
	c := &ProjectsLocationsAsyncRetrieveContextsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1asyncretrievecontextsrequest = googlecloudaiplatformv1asyncretrievecontextsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAsyncRetrieveContextsCall) Fields(s ...googleapi.Field) *ProjectsLocationsAsyncRetrieveContextsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAsyncRetrieveContextsCall) Context(ctx context.Context) *ProjectsLocationsAsyncRetrieveContextsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAsyncRetrieveContextsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAsyncRetrieveContextsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1asyncretrievecontextsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:asyncRetrieveContexts")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.asyncRetrieveContexts", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.asyncRetrieveContexts" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAsyncRetrieveContextsCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.asyncRetrieveContexts", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAugmentPromptCall struct {
	s                                           *Service
	parent                                      string
	googlecloudaiplatformv1augmentpromptrequest *GoogleCloudAiplatformV1AugmentPromptRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// AugmentPrompt: Given an input prompt, it returns augmented prompt from
// vertex rag store to guide LLM towards generating grounded responses.
//
//   - parent: The resource name of the Location from which to augment prompt.
//     The users must have permission to make a call in the project. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) AugmentPrompt(parent string, googlecloudaiplatformv1augmentpromptrequest *GoogleCloudAiplatformV1AugmentPromptRequest) *ProjectsLocationsAugmentPromptCall {
	c := &ProjectsLocationsAugmentPromptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1augmentpromptrequest = googlecloudaiplatformv1augmentpromptrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAugmentPromptCall) Fields(s ...googleapi.Field) *ProjectsLocationsAugmentPromptCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAugmentPromptCall) Context(ctx context.Context) *ProjectsLocationsAugmentPromptCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAugmentPromptCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAugmentPromptCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1augmentpromptrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:augmentPrompt")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.augmentPrompt", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.augmentPrompt" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1AugmentPromptResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAugmentPromptCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1AugmentPromptResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1AugmentPromptResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.augmentPrompt", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCorroborateContentCall struct {
	s                                                *Service
	parent                                           string
	googlecloudaiplatformv1corroboratecontentrequest *GoogleCloudAiplatformV1CorroborateContentRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// CorroborateContent: Given an input text, it returns a score that evaluates
// the factuality of the text. It also extracts and returns claims from the
// text and provides supporting facts.
//
//   - parent: The resource name of the Location from which to corroborate text.
//     The users must have permission to make a call in the project. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) CorroborateContent(parent string, googlecloudaiplatformv1corroboratecontentrequest *GoogleCloudAiplatformV1CorroborateContentRequest) *ProjectsLocationsCorroborateContentCall {
	c := &ProjectsLocationsCorroborateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1corroboratecontentrequest = googlecloudaiplatformv1corroboratecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCorroborateContentCall) Fields(s ...googleapi.Field) *ProjectsLocationsCorroborateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCorroborateContentCall) Context(ctx context.Context) *ProjectsLocationsCorroborateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCorroborateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCorroborateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1corroboratecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:corroborateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.corroborateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.corroborateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CorroborateContentResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCorroborateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CorroborateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CorroborateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.corroborateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeployCall struct {
	s                                    *Service
	destination                          string
	googlecloudaiplatformv1deployrequest *GoogleCloudAiplatformV1DeployRequest
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Deploy: Deploys a model to a new endpoint.
//
//   - destination: The resource name of the Location to deploy the model in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) Deploy(destination string, googlecloudaiplatformv1deployrequest *GoogleCloudAiplatformV1DeployRequest) *ProjectsLocationsDeployCall {
	c := &ProjectsLocationsDeployCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.destination = destination
	c.googlecloudaiplatformv1deployrequest = googlecloudaiplatformv1deployrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeployCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeployCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeployCall) Context(ctx context.Context) *ProjectsLocationsDeployCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeployCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeployCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1deployrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+destination}:deploy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"destination": c.destination,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeployCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluateDatasetCall struct {
	s                                             *Service
	location                                      string
	googlecloudaiplatformv1evaluatedatasetrequest *GoogleCloudAiplatformV1EvaluateDatasetRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// EvaluateDataset: Evaluates a dataset based on a set of given metrics.
//
//   - location: The resource name of the Location to evaluate the dataset.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) EvaluateDataset(location string, googlecloudaiplatformv1evaluatedatasetrequest *GoogleCloudAiplatformV1EvaluateDatasetRequest) *ProjectsLocationsEvaluateDatasetCall {
	c := &ProjectsLocationsEvaluateDatasetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.location = location
	c.googlecloudaiplatformv1evaluatedatasetrequest = googlecloudaiplatformv1evaluatedatasetrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluateDatasetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluateDatasetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluateDatasetCall) Context(ctx context.Context) *ProjectsLocationsEvaluateDatasetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluateDatasetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluateDatasetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluatedatasetrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+location}:evaluateDataset")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"location": c.location,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluateDataset", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluateDataset" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluateDatasetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluateDataset", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluateInstancesCall struct {
	s                                               *Service
	location                                        string
	googlecloudaiplatformv1evaluateinstancesrequest *GoogleCloudAiplatformV1EvaluateInstancesRequest
	urlParams_                                      gensupport.URLParams
	ctx_                                            context.Context
	header_                                         http.Header
}

// EvaluateInstances: Evaluates instances based on a given metric.
//
//   - location: The resource name of the Location to evaluate the instances.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) EvaluateInstances(location string, googlecloudaiplatformv1evaluateinstancesrequest *GoogleCloudAiplatformV1EvaluateInstancesRequest) *ProjectsLocationsEvaluateInstancesCall {
	c := &ProjectsLocationsEvaluateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.location = location
	c.googlecloudaiplatformv1evaluateinstancesrequest = googlecloudaiplatformv1evaluateinstancesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluateInstancesCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluateInstancesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluateInstancesCall) Context(ctx context.Context) *ProjectsLocationsEvaluateInstancesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluateInstancesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluateInstancesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluateinstancesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+location}:evaluateInstances")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"location": c.location,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluateInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluateInstances" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluateInstancesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluateInstancesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluateInstancesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluateInstancesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluateInstances", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGenerateInstanceRubricsCall struct {
	s                                                     *Service
	location                                              string
	googlecloudaiplatformv1generateinstancerubricsrequest *GoogleCloudAiplatformV1GenerateInstanceRubricsRequest
	urlParams_                                            gensupport.URLParams
	ctx_                                                  context.Context
	header_                                               http.Header
}

// GenerateInstanceRubrics: Generates rubrics for a given prompt. A rubric
// represents a single testable criterion for evaluation. One input prompt
// could have multiple rubrics This RPC allows users to get suggested rubrics
// based on provided prompt, which can then be reviewed and used for subsequent
// evaluations.
//
//   - location: The resource name of the Location to generate rubrics from.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) GenerateInstanceRubrics(location string, googlecloudaiplatformv1generateinstancerubricsrequest *GoogleCloudAiplatformV1GenerateInstanceRubricsRequest) *ProjectsLocationsGenerateInstanceRubricsCall {
	c := &ProjectsLocationsGenerateInstanceRubricsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.location = location
	c.googlecloudaiplatformv1generateinstancerubricsrequest = googlecloudaiplatformv1generateinstancerubricsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGenerateInstanceRubricsCall) Fields(s ...googleapi.Field) *ProjectsLocationsGenerateInstanceRubricsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGenerateInstanceRubricsCall) Context(ctx context.Context) *ProjectsLocationsGenerateInstanceRubricsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGenerateInstanceRubricsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGenerateInstanceRubricsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generateinstancerubricsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+location}:generateInstanceRubrics")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"location": c.location,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.generateInstanceRubrics", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.generateInstanceRubrics" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateInstanceRubricsResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGenerateInstanceRubricsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateInstanceRubricsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateInstanceRubricsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.generateInstanceRubrics", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGenerateSyntheticDataCall struct {
	s                                                   *Service
	location                                            string
	googlecloudaiplatformv1generatesyntheticdatarequest *GoogleCloudAiplatformV1GenerateSyntheticDataRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// GenerateSyntheticData: Generates synthetic (artificial) data based on a
// description
//
//   - location: The geographic location where the synthetic data generation
//     request is processed. This should be in the format
//     `projects/{project}/locations/{location}`. For example,
//     `projects/my-project/locations/us-central1`.
func (r *ProjectsLocationsService) GenerateSyntheticData(location string, googlecloudaiplatformv1generatesyntheticdatarequest *GoogleCloudAiplatformV1GenerateSyntheticDataRequest) *ProjectsLocationsGenerateSyntheticDataCall {
	c := &ProjectsLocationsGenerateSyntheticDataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.location = location
	c.googlecloudaiplatformv1generatesyntheticdatarequest = googlecloudaiplatformv1generatesyntheticdatarequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGenerateSyntheticDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsGenerateSyntheticDataCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGenerateSyntheticDataCall) Context(ctx context.Context) *ProjectsLocationsGenerateSyntheticDataCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGenerateSyntheticDataCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGenerateSyntheticDataCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatesyntheticdatarequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+location}:generateSyntheticData")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"location": c.location,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.generateSyntheticData", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.generateSyntheticData" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateSyntheticDataResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGenerateSyntheticDataCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateSyntheticDataResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateSyntheticDataResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.generateSyntheticData", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets information about a location.
//
// - name: Resource name for the location.
func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudLocationLocation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudLocationLocation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudLocationLocation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGetRagEngineConfigCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// GetRagEngineConfig: Gets a RagEngineConfig.
//
//   - name: The name of the RagEngineConfig resource. Format:
//     `projects/{project}/locations/{location}/ragEngineConfig`.
func (r *ProjectsLocationsService) GetRagEngineConfig(name string) *ProjectsLocationsGetRagEngineConfigCall {
	c := &ProjectsLocationsGetRagEngineConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGetRagEngineConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetRagEngineConfigCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGetRagEngineConfigCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetRagEngineConfigCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetRagEngineConfigCall) Context(ctx context.Context) *ProjectsLocationsGetRagEngineConfigCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGetRagEngineConfigCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGetRagEngineConfigCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.getRagEngineConfig", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.getRagEngineConfig" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1RagEngineConfig.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGetRagEngineConfigCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1RagEngineConfig, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1RagEngineConfig{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.getRagEngineConfig", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists information about the supported locations for this service. This
// method lists locations based on the resource scope provided in the
// ListLocationsRequest.name field: * **Global locations**: If `name` is empty,
// the method lists the public locations available to all projects. *
// **Project-specific locations**: If `name` follows the format
// `projects/{project}`, the method lists locations visible to that specific
// project. This includes public, private, or other project-specific locations
// enabled for the project. For gRPC and client library implementations, the
// resource name is passed as the `name` field. For direct service calls, the
// resource name is incorporated into the request path based on the specific
// service implementation and version.
//
// - name: The resource that owns the locations collection, if applicable.
func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ExtraLocationTypes sets the optional parameter "extraLocationTypes": Do not
// use this field unless explicitly documented otherwise. This is primarily for
// internal usage.
func (c *ProjectsLocationsListCall) ExtraLocationTypes(extraLocationTypes ...string) *ProjectsLocationsListCall {
	c.urlParams_.SetMulti("extraLocationTypes", append([]string{}, extraLocationTypes...))
	return c
}

// Filter sets the optional parameter "filter": A filter to narrow down results
// to a preferred subset. The filtering language accepts strings like
// "displayName=tokyo", and is documented in more detail in AIP-160
// (https://google.aip.dev/160).
func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// results to return. If not set, the service selects a default.
func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token received
// from the `next_page_token` field in the response. Send that page token to
// receive the subsequent page.
func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudLocationListLocationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudLocationListLocationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudLocationListLocationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*GoogleCloudLocationListLocationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsRetrieveContextsCall struct {
	s                                              *Service
	parent                                         string
	googlecloudaiplatformv1retrievecontextsrequest *GoogleCloudAiplatformV1RetrieveContextsRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// RetrieveContexts: Retrieves relevant contexts for a query.
//
//   - parent: The resource name of the Location from which to retrieve
//     RagContexts. The users must have permission to make a call in the project.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsService) RetrieveContexts(parent string, googlecloudaiplatformv1retrievecontextsrequest *GoogleCloudAiplatformV1RetrieveContextsRequest) *ProjectsLocationsRetrieveContextsCall {
	c := &ProjectsLocationsRetrieveContextsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1retrievecontextsrequest = googlecloudaiplatformv1retrievecontextsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRetrieveContextsCall) Fields(s ...googleapi.Field) *ProjectsLocationsRetrieveContextsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRetrieveContextsCall) Context(ctx context.Context) *ProjectsLocationsRetrieveContextsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRetrieveContextsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRetrieveContextsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1retrievecontextsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:retrieveContexts")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.retrieveContexts", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.retrieveContexts" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1RetrieveContextsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRetrieveContextsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1RetrieveContextsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1RetrieveContextsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.retrieveContexts", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsUpdateRagEngineConfigCall struct {
	s                                      *Service
	name                                   string
	googlecloudaiplatformv1ragengineconfig *GoogleCloudAiplatformV1RagEngineConfig
	urlParams_                             gensupport.URLParams
	ctx_                                   context.Context
	header_                                http.Header
}

// UpdateRagEngineConfig: Updates a RagEngineConfig.
//
//   - name: Identifier. The name of the RagEngineConfig. Format:
//     `projects/{project}/locations/{location}/ragEngineConfig`.
func (r *ProjectsLocationsService) UpdateRagEngineConfig(name string, googlecloudaiplatformv1ragengineconfig *GoogleCloudAiplatformV1RagEngineConfig) *ProjectsLocationsUpdateRagEngineConfigCall {
	c := &ProjectsLocationsUpdateRagEngineConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1ragengineconfig = googlecloudaiplatformv1ragengineconfig
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsUpdateRagEngineConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsUpdateRagEngineConfigCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsUpdateRagEngineConfigCall) Context(ctx context.Context) *ProjectsLocationsUpdateRagEngineConfigCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsUpdateRagEngineConfigCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsUpdateRagEngineConfigCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1ragengineconfig)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.updateRagEngineConfig", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.updateRagEngineConfig" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsUpdateRagEngineConfigCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.updateRagEngineConfig", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsBatchPredictionJobsCancelCall struct {
	s                                                      *Service
	name                                                   string
	googlecloudaiplatformv1cancelbatchpredictionjobrequest *GoogleCloudAiplatformV1CancelBatchPredictionJobRequest
	urlParams_                                             gensupport.URLParams
	ctx_                                                   context.Context
	header_                                                http.Header
}

// Cancel: 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 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 is set to `CANCELLED`. Any files already outputted
// by the job are not deleted.
//
//   - name: The name of the BatchPredictionJob to cancel. Format:
//     `projects/{project}/locations/{location}/batchPredictionJobs/{batch_predict
//     ion_job}`.
func (r *ProjectsLocationsBatchPredictionJobsService) Cancel(name string, googlecloudaiplatformv1cancelbatchpredictionjobrequest *GoogleCloudAiplatformV1CancelBatchPredictionJobRequest) *ProjectsLocationsBatchPredictionJobsCancelCall {
	c := &ProjectsLocationsBatchPredictionJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cancelbatchpredictionjobrequest = googlecloudaiplatformv1cancelbatchpredictionjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBatchPredictionJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchPredictionJobsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBatchPredictionJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBatchPredictionJobsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsBatchPredictionJobsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cancelbatchpredictionjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.batchPredictionJobs.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsBatchPredictionJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsBatchPredictionJobsCreateCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1batchpredictionjob *GoogleCloudAiplatformV1BatchPredictionJob
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Create: Creates a BatchPredictionJob. A BatchPredictionJob once created will
// right away be attempted to start.
//
//   - parent: The resource name of the Location to create the BatchPredictionJob
//     in. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsBatchPredictionJobsService) Create(parent string, googlecloudaiplatformv1batchpredictionjob *GoogleCloudAiplatformV1BatchPredictionJob) *ProjectsLocationsBatchPredictionJobsCreateCall {
	c := &ProjectsLocationsBatchPredictionJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchpredictionjob = googlecloudaiplatformv1batchpredictionjob
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBatchPredictionJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchPredictionJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBatchPredictionJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBatchPredictionJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsBatchPredictionJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchpredictionjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/batchPredictionJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.batchPredictionJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchPredictionJob.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsBatchPredictionJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchPredictionJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchPredictionJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsBatchPredictionJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a BatchPredictionJob. Can only be called on jobs that
// already finished.
//
//   - name: The name of the BatchPredictionJob resource to be deleted. Format:
//     `projects/{project}/locations/{location}/batchPredictionJobs/{batch_predict
//     ion_job}`.
func (r *ProjectsLocationsBatchPredictionJobsService) Delete(name string) *ProjectsLocationsBatchPredictionJobsDeleteCall {
	c := &ProjectsLocationsBatchPredictionJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBatchPredictionJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchPredictionJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBatchPredictionJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBatchPredictionJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsBatchPredictionJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.batchPredictionJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsBatchPredictionJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsBatchPredictionJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a BatchPredictionJob
//
//   - name: The name of the BatchPredictionJob resource. Format:
//     `projects/{project}/locations/{location}/batchPredictionJobs/{batch_predict
//     ion_job}`.
func (r *ProjectsLocationsBatchPredictionJobsService) Get(name string) *ProjectsLocationsBatchPredictionJobsGetCall {
	c := &ProjectsLocationsBatchPredictionJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBatchPredictionJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchPredictionJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsBatchPredictionJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsBatchPredictionJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBatchPredictionJobsGetCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBatchPredictionJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsBatchPredictionJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.batchPredictionJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchPredictionJob.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsBatchPredictionJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchPredictionJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchPredictionJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsBatchPredictionJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists BatchPredictionJobs in a Location.
//
//   - parent: The resource name of the Location to list the BatchPredictionJobs
//     from. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsBatchPredictionJobsService) List(parent string) *ProjectsLocationsBatchPredictionJobsListCall {
	c := &ProjectsLocationsBatchPredictionJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *ProjectsLocationsBatchPredictionJobsListCall) Filter(filter string) *ProjectsLocationsBatchPredictionJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsBatchPredictionJobsListCall) PageSize(pageSize int64) *ProjectsLocationsBatchPredictionJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via
// ListBatchPredictionJobsResponse.next_page_token of the previous
// JobService.ListBatchPredictionJobs call.
func (c *ProjectsLocationsBatchPredictionJobsListCall) PageToken(pageToken string) *ProjectsLocationsBatchPredictionJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsBatchPredictionJobsListCall) ReadMask(readMask string) *ProjectsLocationsBatchPredictionJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBatchPredictionJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchPredictionJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsBatchPredictionJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsBatchPredictionJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBatchPredictionJobsListCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBatchPredictionJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsBatchPredictionJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/batchPredictionJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.batchPredictionJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListBatchPredictionJobsResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsBatchPredictionJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListBatchPredictionJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListBatchPredictionJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.batchPredictionJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsBatchPredictionJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListBatchPredictionJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCachedContentsCreateCall struct {
	s                                    *Service
	parent                               string
	googlecloudaiplatformv1cachedcontent *GoogleCloudAiplatformV1CachedContent
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Create: Creates cached content, this call will initialize the cached content
// in the data storage, and users need to pay for the cache data storage.
//
// - parent: The parent resource where the cached content will be created.
func (r *ProjectsLocationsCachedContentsService) Create(parent string, googlecloudaiplatformv1cachedcontent *GoogleCloudAiplatformV1CachedContent) *ProjectsLocationsCachedContentsCreateCall {
	c := &ProjectsLocationsCachedContentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1cachedcontent = googlecloudaiplatformv1cachedcontent
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCachedContentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsCachedContentsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCachedContentsCreateCall) Context(ctx context.Context) *ProjectsLocationsCachedContentsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCachedContentsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCachedContentsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cachedcontent)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/cachedContents")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.cachedContents.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CachedContent.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCachedContentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CachedContent, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CachedContent{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCachedContentsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes cached content
//
// - name: The resource name referring to the cached content.
func (r *ProjectsLocationsCachedContentsService) Delete(name string) *ProjectsLocationsCachedContentsDeleteCall {
	c := &ProjectsLocationsCachedContentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCachedContentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsCachedContentsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCachedContentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsCachedContentsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCachedContentsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCachedContentsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.cachedContents.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsCachedContentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCachedContentsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets cached content configurations
//
// - name: The resource name referring to the cached content.
func (r *ProjectsLocationsCachedContentsService) Get(name string) *ProjectsLocationsCachedContentsGetCall {
	c := &ProjectsLocationsCachedContentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCachedContentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsCachedContentsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCachedContentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsCachedContentsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCachedContentsGetCall) Context(ctx context.Context) *ProjectsLocationsCachedContentsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCachedContentsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCachedContentsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.cachedContents.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CachedContent.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCachedContentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CachedContent, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CachedContent{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCachedContentsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists cached contents in a project
//
// - parent: The parent, which owns this collection of cached contents.
func (r *ProjectsLocationsCachedContentsService) List(parent string) *ProjectsLocationsCachedContentsListCall {
	c := &ProjectsLocationsCachedContentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// cached contents to return. The service may return fewer than this value. If
// unspecified, some default (under maximum) number of items will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsCachedContentsListCall) PageSize(pageSize int64) *ProjectsLocationsCachedContentsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListCachedContents` call. Provide this to retrieve the
// subsequent page. When paginating, all other parameters provided to
// `ListCachedContents` must match the call that provided the page token.
func (c *ProjectsLocationsCachedContentsListCall) PageToken(pageToken string) *ProjectsLocationsCachedContentsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCachedContentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCachedContentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCachedContentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCachedContentsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCachedContentsListCall) Context(ctx context.Context) *ProjectsLocationsCachedContentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCachedContentsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCachedContentsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/cachedContents")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.cachedContents.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListCachedContentsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCachedContentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListCachedContentsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListCachedContentsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsCachedContentsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListCachedContentsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCachedContentsPatchCall struct {
	s                                    *Service
	name                                 string
	googlecloudaiplatformv1cachedcontent *GoogleCloudAiplatformV1CachedContent
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Patch: Updates cached content configurations
//
//   - name: Immutable. Identifier. The server-generated resource name of the
//     cached content Format:
//     projects/{project}/locations/{location}/cachedContents/{cached_content}.
func (r *ProjectsLocationsCachedContentsService) Patch(name string, googlecloudaiplatformv1cachedcontent *GoogleCloudAiplatformV1CachedContent) *ProjectsLocationsCachedContentsPatchCall {
	c := &ProjectsLocationsCachedContentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cachedcontent = googlecloudaiplatformv1cachedcontent
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The list of
// fields to update.
func (c *ProjectsLocationsCachedContentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsCachedContentsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCachedContentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsCachedContentsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCachedContentsPatchCall) Context(ctx context.Context) *ProjectsLocationsCachedContentsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCachedContentsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCachedContentsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cachedcontent)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.cachedContents.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CachedContent.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCachedContentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CachedContent, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CachedContent{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.cachedContents.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsCancelCall struct {
	s                                             *Service
	name                                          string
	googlecloudaiplatformv1cancelcustomjobrequest *GoogleCloudAiplatformV1CancelCustomJobRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// Cancel: 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 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 value with a
// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and
// CustomJob.state is set to `CANCELLED`.
//
//   - name: The name of the CustomJob to cancel. Format:
//     `projects/{project}/locations/{location}/customJobs/{custom_job}`.
func (r *ProjectsLocationsCustomJobsService) Cancel(name string, googlecloudaiplatformv1cancelcustomjobrequest *GoogleCloudAiplatformV1CancelCustomJobRequest) *ProjectsLocationsCustomJobsCancelCall {
	c := &ProjectsLocationsCustomJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cancelcustomjobrequest = googlecloudaiplatformv1cancelcustomjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cancelcustomjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsCustomJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsCreateCall struct {
	s                                *Service
	parent                           string
	googlecloudaiplatformv1customjob *GoogleCloudAiplatformV1CustomJob
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Create: Creates a CustomJob. A created CustomJob right away will be
// attempted to be run.
//
//   - parent: The resource name of the Location to create the CustomJob in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsCustomJobsService) Create(parent string, googlecloudaiplatformv1customjob *GoogleCloudAiplatformV1CustomJob) *ProjectsLocationsCustomJobsCreateCall {
	c := &ProjectsLocationsCustomJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1customjob = googlecloudaiplatformv1customjob
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1customjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/customJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CustomJob.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCustomJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CustomJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CustomJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a CustomJob.
//
//   - name: The name of the CustomJob resource to be deleted. Format:
//     `projects/{project}/locations/{location}/customJobs/{custom_job}`.
func (r *ProjectsLocationsCustomJobsService) Delete(name string) *ProjectsLocationsCustomJobsDeleteCall {
	c := &ProjectsLocationsCustomJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCustomJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a CustomJob.
//
//   - name: The name of the CustomJob resource. Format:
//     `projects/{project}/locations/{location}/customJobs/{custom_job}`.
func (r *ProjectsLocationsCustomJobsService) Get(name string) *ProjectsLocationsCustomJobsGetCall {
	c := &ProjectsLocationsCustomJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCustomJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsCustomJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsGetCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CustomJob.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCustomJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CustomJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CustomJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists CustomJobs in a Location.
//
//   - parent: The resource name of the Location to list the CustomJobs from.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsCustomJobsService) List(parent string) *ProjectsLocationsCustomJobsListCall {
	c := &ProjectsLocationsCustomJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *ProjectsLocationsCustomJobsListCall) Filter(filter string) *ProjectsLocationsCustomJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsCustomJobsListCall) PageSize(pageSize int64) *ProjectsLocationsCustomJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListCustomJobsResponse.next_page_token of the
// previous JobService.ListCustomJobs call.
func (c *ProjectsLocationsCustomJobsListCall) PageToken(pageToken string) *ProjectsLocationsCustomJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsCustomJobsListCall) ReadMask(readMask string) *ProjectsLocationsCustomJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCustomJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCustomJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsListCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/customJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListCustomJobsResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCustomJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListCustomJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListCustomJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsCustomJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListCustomJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCustomJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsCustomJobsOperationsService) Cancel(name string) *ProjectsLocationsCustomJobsOperationsCancelCall {
	c := &ProjectsLocationsCustomJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsCustomJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsCustomJobsOperationsService) Delete(name string) *ProjectsLocationsCustomJobsOperationsDeleteCall {
	c := &ProjectsLocationsCustomJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsCustomJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsCustomJobsOperationsService) Get(name string) *ProjectsLocationsCustomJobsOperationsGetCall {
	c := &ProjectsLocationsCustomJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCustomJobsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsCustomJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCustomJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCustomJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsCustomJobsOperationsService) List(name string) *ProjectsLocationsCustomJobsOperationsListCall {
	c := &ProjectsLocationsCustomJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Filter(filter string) *ProjectsLocationsCustomJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsCustomJobsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsCustomJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsCustomJobsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsCustomJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsCustomJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsCustomJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCustomJobsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCustomJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCustomJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsCustomJobsOperationsService) Wait(name string) *ProjectsLocationsCustomJobsOperationsWaitCall {
	c := &ProjectsLocationsCustomJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsCustomJobsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsCustomJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCustomJobsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCustomJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCustomJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCustomJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.customJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCustomJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.customJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsCancelCall struct {
	s                                                   *Service
	name                                                string
	googlecloudaiplatformv1canceldatalabelingjobrequest *GoogleCloudAiplatformV1CancelDataLabelingJobRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// Cancel: Cancels a DataLabelingJob. Success of cancellation is not
// guaranteed.
//
//   - name: The name of the DataLabelingJob. Format:
//     `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_jo
//     b}`.
func (r *ProjectsLocationsDataLabelingJobsService) Cancel(name string, googlecloudaiplatformv1canceldatalabelingjobrequest *GoogleCloudAiplatformV1CancelDataLabelingJobRequest) *ProjectsLocationsDataLabelingJobsCancelCall {
	c := &ProjectsLocationsDataLabelingJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1canceldatalabelingjobrequest = googlecloudaiplatformv1canceldatalabelingjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1canceldatalabelingjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDataLabelingJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsCreateCall struct {
	s                                      *Service
	parent                                 string
	googlecloudaiplatformv1datalabelingjob *GoogleCloudAiplatformV1DataLabelingJob
	urlParams_                             gensupport.URLParams
	ctx_                                   context.Context
	header_                                http.Header
}

// Create: Creates a DataLabelingJob.
//
//   - parent: The parent of the DataLabelingJob. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsDataLabelingJobsService) Create(parent string, googlecloudaiplatformv1datalabelingjob *GoogleCloudAiplatformV1DataLabelingJob) *ProjectsLocationsDataLabelingJobsCreateCall {
	c := &ProjectsLocationsDataLabelingJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1datalabelingjob = googlecloudaiplatformv1datalabelingjob
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1datalabelingjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dataLabelingJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DataLabelingJob.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDataLabelingJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DataLabelingJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DataLabelingJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a DataLabelingJob.
//
//   - name: The name of the DataLabelingJob to be deleted. Format:
//     `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_jo
//     b}`.
func (r *ProjectsLocationsDataLabelingJobsService) Delete(name string) *ProjectsLocationsDataLabelingJobsDeleteCall {
	c := &ProjectsLocationsDataLabelingJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDataLabelingJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a DataLabelingJob.
//
//   - name: The name of the DataLabelingJob. Format:
//     `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_jo
//     b}`.
func (r *ProjectsLocationsDataLabelingJobsService) Get(name string) *ProjectsLocationsDataLabelingJobsGetCall {
	c := &ProjectsLocationsDataLabelingJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDataLabelingJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDataLabelingJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsGetCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DataLabelingJob.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDataLabelingJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DataLabelingJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DataLabelingJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists DataLabelingJobs in a Location.
//
//   - parent: The parent of the DataLabelingJob. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsDataLabelingJobsService) List(parent string) *ProjectsLocationsDataLabelingJobsListCall {
	c := &ProjectsLocationsDataLabelingJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *ProjectsLocationsDataLabelingJobsListCall) Filter(filter string) *ProjectsLocationsDataLabelingJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order by default. Use `desc` after a
// field name for descending.
func (c *ProjectsLocationsDataLabelingJobsListCall) OrderBy(orderBy string) *ProjectsLocationsDataLabelingJobsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDataLabelingJobsListCall) PageSize(pageSize int64) *ProjectsLocationsDataLabelingJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDataLabelingJobsListCall) PageToken(pageToken string) *ProjectsLocationsDataLabelingJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": 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.
func (c *ProjectsLocationsDataLabelingJobsListCall) ReadMask(readMask string) *ProjectsLocationsDataLabelingJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDataLabelingJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDataLabelingJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsListCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dataLabelingJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListDataLabelingJobsResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDataLabelingJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListDataLabelingJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListDataLabelingJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDataLabelingJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListDataLabelingJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDataLabelingJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsDataLabelingJobsOperationsService) Cancel(name string) *ProjectsLocationsDataLabelingJobsOperationsCancelCall {
	c := &ProjectsLocationsDataLabelingJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDataLabelingJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsDataLabelingJobsOperationsService) Delete(name string) *ProjectsLocationsDataLabelingJobsOperationsDeleteCall {
	c := &ProjectsLocationsDataLabelingJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDataLabelingJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsDataLabelingJobsOperationsService) Get(name string) *ProjectsLocationsDataLabelingJobsOperationsGetCall {
	c := &ProjectsLocationsDataLabelingJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDataLabelingJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDataLabelingJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsDataLabelingJobsOperationsService) List(name string) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c := &ProjectsLocationsDataLabelingJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Filter(filter string) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDataLabelingJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsDataLabelingJobsOperationsService) Wait(name string) *ProjectsLocationsDataLabelingJobsOperationsWaitCall {
	c := &ProjectsLocationsDataLabelingJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsDataLabelingJobsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsDataLabelingJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDataLabelingJobsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDataLabelingJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDataLabelingJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDataLabelingJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.dataLabelingJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDataLabelingJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.dataLabelingJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsCreateCall struct {
	s                              *Service
	parent                         string
	googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Create: Creates a Dataset.
//
//   - parent: The resource name of the Location to create the Dataset in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsDatasetsService) Create(parent string, googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset) *ProjectsLocationsDatasetsCreateCall {
	c := &ProjectsLocationsDatasetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1dataset = googlecloudaiplatformv1dataset
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1dataset)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/datasets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Dataset.
//
//   - name: The resource name of the Dataset to delete. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsService) Delete(name string) *ProjectsLocationsDatasetsDeleteCall {
	c := &ProjectsLocationsDatasetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsExportCall struct {
	s                                        *Service
	name                                     string
	googlecloudaiplatformv1exportdatarequest *GoogleCloudAiplatformV1ExportDataRequest
	urlParams_                               gensupport.URLParams
	ctx_                                     context.Context
	header_                                  http.Header
}

// Export: Exports data from a Dataset.
//
//   - name: The name of the Dataset resource. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsService) Export(name string, googlecloudaiplatformv1exportdatarequest *GoogleCloudAiplatformV1ExportDataRequest) *ProjectsLocationsDatasetsExportCall {
	c := &ProjectsLocationsDatasetsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1exportdatarequest = googlecloudaiplatformv1exportdatarequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsExportCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsExportCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsExportCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsExportCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1exportdatarequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:export")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.export", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.export" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.export", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Dataset.
//
// - name: The name of the Dataset resource.
func (r *ProjectsLocationsDatasetsService) Get(name string) *ProjectsLocationsDatasetsGetCall {
	c := &ProjectsLocationsDatasetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsGetCall) ReadMask(readMask string) *ProjectsLocationsDatasetsGetCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Dataset.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Dataset, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Dataset{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsDatasetsService) GetIamPolicy(resource string) *ProjectsLocationsDatasetsGetIamPolicyCall {
	c := &ProjectsLocationsDatasetsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsDatasetsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsDatasetsGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsImportCall struct {
	s                                        *Service
	name                                     string
	googlecloudaiplatformv1importdatarequest *GoogleCloudAiplatformV1ImportDataRequest
	urlParams_                               gensupport.URLParams
	ctx_                                     context.Context
	header_                                  http.Header
}

// Import: Imports data into a Dataset.
//
//   - name: The name of the Dataset resource. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsService) Import(name string, googlecloudaiplatformv1importdatarequest *GoogleCloudAiplatformV1ImportDataRequest) *ProjectsLocationsDatasetsImportCall {
	c := &ProjectsLocationsDatasetsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1importdatarequest = googlecloudaiplatformv1importdatarequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsImportCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsImportCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsImportCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsImportCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1importdatarequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:import")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.import", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.import" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.import", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Datasets in a Location.
//
//   - parent: The name of the Dataset's parent resource. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsDatasetsService) List(parent string) *ProjectsLocationsDatasetsListCall {
	c := &ProjectsLocationsDatasetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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"
func (c *ProjectsLocationsDatasetsListCall) Filter(filter string) *ProjectsLocationsDatasetsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsDatasetsListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsListCall) ReadMask(readMask string) *ProjectsLocationsDatasetsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/datasets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListDatasetsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListDatasetsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListDatasetsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListDatasetsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsPatchCall struct {
	s                              *Service
	name                           string
	googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Patch: Updates a Dataset.
//
//   - name: Output only. Identifier. The resource name of the Dataset. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsService) Patch(name string, googlecloudaiplatformv1dataset *GoogleCloudAiplatformV1Dataset) *ProjectsLocationsDatasetsPatchCall {
	c := &ProjectsLocationsDatasetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1dataset = googlecloudaiplatformv1dataset
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask. Updatable fields: * `display_name` *
// `description` * `labels`
func (c *ProjectsLocationsDatasetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1dataset)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Dataset.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Dataset, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Dataset{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsSearchDataItemsCall struct {
	s            *Service
	dataset      string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// SearchDataItems: Searches DataItems in a Dataset.
//
//   - dataset: The resource name of the Dataset from which to search DataItems.
//     Format: `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsService) SearchDataItems(dataset string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c := &ProjectsLocationsDatasetsSearchDataItemsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.dataset = dataset
	return c
}

// AnnotationFilters sets the optional parameter "annotationFilters": 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.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) AnnotationFilters(annotationFilters ...string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.SetMulti("annotationFilters", append([]string{}, annotationFilters...))
	return c
}

// AnnotationsFilter sets the optional parameter "annotationsFilter": An
// expression for filtering the Annotations that will be returned per DataItem.
// * `annotation_spec_id` - for = or !=.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) AnnotationsFilter(annotationsFilter string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("annotationsFilter", annotationsFilter)
	return c
}

// AnnotationsLimit sets the optional parameter "annotationsLimit": 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.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) AnnotationsLimit(annotationsLimit int64) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("annotationsLimit", fmt.Sprint(annotationsLimit))
	return c
}

// DataItemFilter sets the optional parameter "dataItemFilter": 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)`
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) DataItemFilter(dataItemFilter string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("dataItemFilter", dataItemFilter)
	return c
}

// DataLabelingJob sets the optional parameter "dataLabelingJob": 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.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) DataLabelingJob(dataLabelingJob string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("dataLabelingJob", dataLabelingJob)
	return c
}

// FieldMask sets the optional parameter "fieldMask": Mask specifying which
// fields of DataItemView to read.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) FieldMask(fieldMask string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("fieldMask", fieldMask)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "desc" after a field name
// for descending.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// OrderByAnnotationOrderBy sets the optional parameter
// "orderByAnnotation.orderBy": 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.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) OrderByAnnotationOrderBy(orderByAnnotationOrderBy string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("orderByAnnotation.orderBy", orderByAnnotationOrderBy)
	return c
}

// OrderByAnnotationSavedQuery sets the optional parameter
// "orderByAnnotation.savedQuery": Required. Saved query of the Annotation.
// Only Annotations belong to this saved query will be considered for ordering.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) OrderByAnnotationSavedQuery(orderByAnnotationSavedQuery string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("orderByAnnotation.savedQuery", orderByAnnotationSavedQuery)
	return c
}

// OrderByDataItem sets the optional parameter "orderByDataItem": A
// comma-separated list of data item fields to order by, sorted in ascending
// order. Use "desc" after a field name for descending.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) OrderByDataItem(orderByDataItem string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("orderByDataItem", orderByDataItem)
	return c
}

// PageSize sets the optional parameter "pageSize": Requested page size. Server
// may return fewer results than requested. Default and maximum page size is
// 100.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results for the server to return Typically obtained via
// SearchDataItemsResponse.next_page_token of the previous
// DatasetService.SearchDataItems call.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) PageToken(pageToken string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// SavedQuery sets the optional parameter "savedQuery": The resource name of a
// SavedQuery(annotation set in UI). Format:
// `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{sav
// ed_query}` All of the search will be done in the context of this SavedQuery.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) SavedQuery(savedQuery string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("savedQuery", savedQuery)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSearchDataItemsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+dataset}:searchDataItems")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"dataset": c.dataset,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.searchDataItems", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.searchDataItems" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SearchDataItemsResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SearchDataItemsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SearchDataItemsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.searchDataItems", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1SearchDataItemsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsDatasetsService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsDatasetsSetIamPolicyCall {
	c := &ProjectsLocationsDatasetsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsDatasetsService) TestIamPermissions(resource string) *ProjectsLocationsDatasetsTestIamPermissionsCall {
	c := &ProjectsLocationsDatasetsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsDatasetsTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsAnnotationSpecsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets an AnnotationSpec.
//
//   - name: The name of the AnnotationSpec resource. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs
//     /{annotation_spec}`.
func (r *ProjectsLocationsDatasetsAnnotationSpecsService) Get(name string) *ProjectsLocationsDatasetsAnnotationSpecsGetCall {
	c := &ProjectsLocationsDatasetsAnnotationSpecsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) ReadMask(readMask string) *ProjectsLocationsDatasetsAnnotationSpecsGetCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationSpecsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.annotationSpecs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1AnnotationSpec.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1AnnotationSpec, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1AnnotationSpec{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsDatasetsAnnotationSpecsOperationsService) Cancel(name string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall {
	c := &ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsDatasetsAnnotationSpecsOperationsService) Delete(name string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall {
	c := &ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsDatasetsAnnotationSpecsOperationsService) Get(name string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall {
	c := &ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.annotationSpecs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsDatasetsAnnotationSpecsOperationsService) List(name string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c := &ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.annotationSpecs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsDatasetsAnnotationSpecsOperationsService) Wait(name string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall {
	c := &ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists DataItems in a Dataset.
//
//   - parent: The resource name of the Dataset to list DataItems from. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsDataItemsService) List(parent string) *ProjectsLocationsDatasetsDataItemsListCall {
	c := &ProjectsLocationsDatasetsDataItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Filter(filter string) *ProjectsLocationsDatasetsDataItemsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "desc" after a field name
// for descending.
func (c *ProjectsLocationsDatasetsDataItemsListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsDataItemsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsDataItemsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDataItemsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsDataItemsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDataItemsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsDataItemsListCall) ReadMask(readMask string) *ProjectsLocationsDatasetsDataItemsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDataItemsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDataItemsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dataItems")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListDataItemsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListDataItemsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListDataItemsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListDataItemsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsDataItemsAnnotationsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Annotations belongs to a dataitem.
//
//   - parent: The resource name of the DataItem to list Annotations from.
//     Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data
//     _item}`.
func (r *ProjectsLocationsDatasetsDataItemsAnnotationsService) List(parent string) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c := &ProjectsLocationsDatasetsDataItemsAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Filter(filter string) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "desc" after a field name
// for descending.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) ReadMask(readMask string) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/annotations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.annotations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListAnnotationsResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListAnnotationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListAnnotationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListAnnotationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService) Cancel(name string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall {
	c := &ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService) Delete(name string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall {
	c := &ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService) Get(name string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall {
	c := &ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService) List(name string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c := &ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsService) Wait(name string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall {
	c := &ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsDatasetsDataItemsOperationsService) Cancel(name string) *ProjectsLocationsDatasetsDataItemsOperationsCancelCall {
	c := &ProjectsLocationsDatasetsDataItemsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsDataItemsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsDatasetsDataItemsOperationsService) Delete(name string) *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall {
	c := &ProjectsLocationsDatasetsDataItemsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsDatasetsDataItemsOperationsService) Get(name string) *ProjectsLocationsDatasetsDataItemsOperationsGetCall {
	c := &ProjectsLocationsDatasetsDataItemsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDataItemsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDataItemsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsDatasetsDataItemsOperationsService) List(name string) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c := &ProjectsLocationsDatasetsDataItemsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsDataItemsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsDatasetsDataItemsOperationsService) Wait(name string) *ProjectsLocationsDatasetsDataItemsOperationsWaitCall {
	c := &ProjectsLocationsDatasetsDataItemsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsDatasetsDataItemsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsDatasetsDataItemsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDataItemsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDataItemsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDataItemsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDataItemsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.dataItems.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDataItemsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.dataItems.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDatasetVersionsCreateCall struct {
	s                                     *Service
	parent                                string
	googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Create: Create a version from a Dataset.
//
//   - parent: The name of the Dataset resource. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsDatasetVersionsService) Create(parent string, googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion) *ProjectsLocationsDatasetsDatasetVersionsCreateCall {
	c := &ProjectsLocationsDatasetsDatasetVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1datasetversion = googlecloudaiplatformv1datasetversion
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDatasetVersionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDatasetVersionsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDatasetVersionsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDatasetVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1datasetversion)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/datasetVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.datasetVersions.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDatasetVersionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDatasetVersionsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Dataset version.
//
//   - name: The resource name of the Dataset version to delete. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *ProjectsLocationsDatasetsDatasetVersionsService) Delete(name string) *ProjectsLocationsDatasetsDatasetVersionsDeleteCall {
	c := &ProjectsLocationsDatasetsDatasetVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDatasetVersionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDatasetVersionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDatasetVersionsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDatasetVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.datasetVersions.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDatasetVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDatasetVersionsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Dataset version.
//
//   - name: The resource name of the Dataset version to delete. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *ProjectsLocationsDatasetsDatasetVersionsService) Get(name string) *ProjectsLocationsDatasetsDatasetVersionsGetCall {
	c := &ProjectsLocationsDatasetsDatasetVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) ReadMask(readMask string) *ProjectsLocationsDatasetsDatasetVersionsGetCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDatasetVersionsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.datasetVersions.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DatasetVersion.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DatasetVersion, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DatasetVersion{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDatasetVersionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists DatasetVersions in a Dataset.
//
//   - parent: The resource name of the Dataset to list DatasetVersions from.
//     Format: `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsDatasetVersionsService) List(parent string) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c := &ProjectsLocationsDatasetsDatasetVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Filter(filter string) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "desc" after a field name
// for descending.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) ReadMask(readMask string) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/datasetVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.datasetVersions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListDatasetVersionsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListDatasetVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListDatasetVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListDatasetVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsDatasetVersionsPatchCall struct {
	s                                     *Service
	name                                  string
	googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Patch: Updates a DatasetVersion.
//
//   - name: Output only. Identifier. The resource name of the DatasetVersion.
//     Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *ProjectsLocationsDatasetsDatasetVersionsService) Patch(name string, googlecloudaiplatformv1datasetversion *GoogleCloudAiplatformV1DatasetVersion) *ProjectsLocationsDatasetsDatasetVersionsPatchCall {
	c := &ProjectsLocationsDatasetsDatasetVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1datasetversion = googlecloudaiplatformv1datasetversion
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask. Updatable fields: * `display_name`
func (c *ProjectsLocationsDatasetsDatasetVersionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDatasetsDatasetVersionsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDatasetVersionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDatasetVersionsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDatasetVersionsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDatasetVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1datasetversion)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.datasetVersions.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DatasetVersion.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDatasetVersionsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DatasetVersion, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DatasetVersion{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsDatasetVersionsRestoreCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Restore: Restores a dataset version.
//
//   - name: The name of the DatasetVersion resource. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions
//     /{dataset_version}`.
func (r *ProjectsLocationsDatasetsDatasetVersionsService) Restore(name string) *ProjectsLocationsDatasetsDatasetVersionsRestoreCall {
	c := &ProjectsLocationsDatasetsDatasetVersionsRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsRestoreCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDatasetVersionsRestoreCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsRestoreCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:restore")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.restore", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.datasetVersions.restore" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.datasetVersions.restore", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsDatasetsOperationsService) Cancel(name string) *ProjectsLocationsDatasetsOperationsCancelCall {
	c := &ProjectsLocationsDatasetsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsDatasetsOperationsService) Delete(name string) *ProjectsLocationsDatasetsOperationsDeleteCall {
	c := &ProjectsLocationsDatasetsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsDatasetsOperationsService) Get(name string) *ProjectsLocationsDatasetsOperationsGetCall {
	c := &ProjectsLocationsDatasetsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsDatasetsOperationsService) List(name string) *ProjectsLocationsDatasetsOperationsListCall {
	c := &ProjectsLocationsDatasetsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsDatasetsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsDatasetsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsDatasetsOperationsService) Wait(name string) *ProjectsLocationsDatasetsOperationsWaitCall {
	c := &ProjectsLocationsDatasetsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsDatasetsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsDatasetsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsSavedQueriesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a SavedQuery.
//
//   - name: The resource name of the SavedQuery to delete. Format:
//     `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{s
//     aved_query}`.
func (r *ProjectsLocationsDatasetsSavedQueriesService) Delete(name string) *ProjectsLocationsDatasetsSavedQueriesDeleteCall {
	c := &ProjectsLocationsDatasetsSavedQueriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSavedQueriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSavedQueriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSavedQueriesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSavedQueriesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.savedQueries.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsSavedQueriesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsSavedQueriesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SavedQueries in a Dataset.
//
//   - parent: The resource name of the Dataset to list SavedQueries from.
//     Format: `projects/{project}/locations/{location}/datasets/{dataset}`.
func (r *ProjectsLocationsDatasetsSavedQueriesService) List(parent string) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c := &ProjectsLocationsDatasetsSavedQueriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Filter(filter string) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "desc" after a field name
// for descending.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) OrderBy(orderBy string) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) ReadMask(readMask string) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSavedQueriesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/savedQueries")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.savedQueries.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSavedQueriesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSavedQueriesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSavedQueriesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSavedQueriesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsDatasetsSavedQueriesOperationsService) Cancel(name string) *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall {
	c := &ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.savedQueries.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsDatasetsSavedQueriesOperationsService) Delete(name string) *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall {
	c := &ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.savedQueries.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsSavedQueriesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsDatasetsSavedQueriesOperationsService) Get(name string) *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall {
	c := &ProjectsLocationsDatasetsSavedQueriesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.savedQueries.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatasetsSavedQueriesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsDatasetsSavedQueriesOperationsService) List(name string) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c := &ProjectsLocationsDatasetsSavedQueriesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Filter(filter string) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.savedQueries.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsDatasetsSavedQueriesOperationsService) Wait(name string) *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall {
	c := &ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.datasets.savedQueries.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.datasets.savedQueries.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsCreateCall struct {
	s                                                          *Service
	parent                                                     string
	googlecloudaiplatformv1createdeploymentresourcepoolrequest *GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest
	urlParams_                                                 gensupport.URLParams
	ctx_                                                       context.Context
	header_                                                    http.Header
}

// Create: Create a DeploymentResourcePool.
//
//   - parent: The parent location resource where this DeploymentResourcePool
//     will be created. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsDeploymentResourcePoolsService) Create(parent string, googlecloudaiplatformv1createdeploymentresourcepoolrequest *GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest) *ProjectsLocationsDeploymentResourcePoolsCreateCall {
	c := &ProjectsLocationsDeploymentResourcePoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1createdeploymentresourcepoolrequest = googlecloudaiplatformv1createdeploymentresourcepoolrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsCreateCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1createdeploymentresourcepoolrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/deploymentResourcePools")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Delete a DeploymentResourcePool.
//
//   - name: The name of the DeploymentResourcePool to delete. Format:
//     `projects/{project}/locations/{location}/deploymentResourcePools/{deploymen
//     t_resource_pool}`.
func (r *ProjectsLocationsDeploymentResourcePoolsService) Delete(name string) *ProjectsLocationsDeploymentResourcePoolsDeleteCall {
	c := &ProjectsLocationsDeploymentResourcePoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Get a DeploymentResourcePool.
//
//   - name: The name of the DeploymentResourcePool to retrieve. Format:
//     `projects/{project}/locations/{location}/deploymentResourcePools/{deploymen
//     t_resource_pool}`.
func (r *ProjectsLocationsDeploymentResourcePoolsService) Get(name string) *ProjectsLocationsDeploymentResourcePoolsGetCall {
	c := &ProjectsLocationsDeploymentResourcePoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDeploymentResourcePoolsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDeploymentResourcePoolsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsGetCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DeploymentResourcePool.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DeploymentResourcePool, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DeploymentResourcePool{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: List DeploymentResourcePools in a location.
//
//   - parent: The parent Location which owns this collection of
//     DeploymentResourcePools. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsDeploymentResourcePoolsService) List(parent string) *ProjectsLocationsDeploymentResourcePoolsListCall {
	c := &ProjectsLocationsDeploymentResourcePoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// DeploymentResourcePools to return. The service may return fewer than this
// value.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) PageSize(pageSize int64) *ProjectsLocationsDeploymentResourcePoolsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": 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.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) PageToken(pageToken string) *ProjectsLocationsDeploymentResourcePoolsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDeploymentResourcePoolsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/deploymentResourcePools")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse.ServerResponse.He
// ader or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDeploymentResourcePoolsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDeploymentResourcePoolsPatchCall struct {
	s                                             *Service
	name                                          string
	googlecloudaiplatformv1deploymentresourcepool *GoogleCloudAiplatformV1DeploymentResourcePool
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// Patch: Update a DeploymentResourcePool.
//
//   - name: Immutable. The resource name of the DeploymentResourcePool. Format:
//     `projects/{project}/locations/{location}/deploymentResourcePools/{deploymen
//     t_resource_pool}`.
func (r *ProjectsLocationsDeploymentResourcePoolsService) Patch(name string, googlecloudaiplatformv1deploymentresourcepool *GoogleCloudAiplatformV1DeploymentResourcePool) *ProjectsLocationsDeploymentResourcePoolsPatchCall {
	c := &ProjectsLocationsDeploymentResourcePoolsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1deploymentresourcepool = googlecloudaiplatformv1deploymentresourcepool
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The list of
// fields to update.
func (c *ProjectsLocationsDeploymentResourcePoolsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDeploymentResourcePoolsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsPatchCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1deploymentresourcepool)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall struct {
	s                      *Service
	deploymentResourcePool string
	urlParams_             gensupport.URLParams
	ifNoneMatch_           string
	ctx_                   context.Context
	header_                http.Header
}

// QueryDeployedModels: List DeployedModels that have been deployed on this
// DeploymentResourcePool.
//
//   - deploymentResourcePool: The name of the target DeploymentResourcePool to
//     query. Format:
//     `projects/{project}/locations/{location}/deploymentResourcePools/{deploymen
//     t_resource_pool}`.
func (r *ProjectsLocationsDeploymentResourcePoolsService) QueryDeployedModels(deploymentResourcePool string) *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall {
	c := &ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.deploymentResourcePool = deploymentResourcePool
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// DeployedModels to return. The service may return fewer than this value.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) PageSize(pageSize int64) *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": 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.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) PageToken(pageToken string) *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) IfNoneMatch(entityTag string) *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+deploymentResourcePool}:queryDeployedModels")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"deploymentResourcePool": c.deploymentResourcePool,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1QueryDeployedModelsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1QueryDeployedModelsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1QueryDeployedModelsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDeploymentResourcePoolsQueryDeployedModelsCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1QueryDeployedModelsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsDeploymentResourcePoolsOperationsService) Cancel(name string) *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall {
	c := &ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsDeploymentResourcePoolsOperationsService) Delete(name string) *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall {
	c := &ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsDeploymentResourcePoolsOperationsService) Get(name string) *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall {
	c := &ProjectsLocationsDeploymentResourcePoolsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDeploymentResourcePoolsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsDeploymentResourcePoolsOperationsService) List(name string) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c := &ProjectsLocationsDeploymentResourcePoolsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Filter(filter string) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsDeploymentResourcePoolsOperationsService) Wait(name string) *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall {
	c := &ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.deploymentResourcePools.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.deploymentResourcePools.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsComputeTokensCall struct {
	s                                           *Service
	endpoint                                    string
	googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// ComputeTokens: Return a list of tokens based on the input text.
//
//   - endpoint: The name of the Endpoint requested to get lists of tokens and
//     token ids.
func (r *ProjectsLocationsEndpointsService) ComputeTokens(endpoint string, googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest) *ProjectsLocationsEndpointsComputeTokensCall {
	c := &ProjectsLocationsEndpointsComputeTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1computetokensrequest = googlecloudaiplatformv1computetokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsComputeTokensCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsComputeTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsComputeTokensCall) Context(ctx context.Context) *ProjectsLocationsEndpointsComputeTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsComputeTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsComputeTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1computetokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:computeTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.computeTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.computeTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ComputeTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsComputeTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ComputeTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ComputeTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.computeTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsCountTokensCall struct {
	s                                         *Service
	endpoint                                  string
	googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// CountTokens: Perform a token counting.
//
//   - endpoint: The name of the Endpoint requested to perform token counting.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) CountTokens(endpoint string, googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest) *ProjectsLocationsEndpointsCountTokensCall {
	c := &ProjectsLocationsEndpointsCountTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1counttokensrequest = googlecloudaiplatformv1counttokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsCountTokensCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsCountTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsCountTokensCall) Context(ctx context.Context) *ProjectsLocationsEndpointsCountTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsCountTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsCountTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1counttokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:countTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.countTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.countTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CountTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsCountTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CountTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CountTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.countTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsCreateCall struct {
	s                               *Service
	parent                          string
	googlecloudaiplatformv1endpoint *GoogleCloudAiplatformV1Endpoint
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// Create: Creates an Endpoint.
//
//   - parent: The resource name of the Location to create the Endpoint in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEndpointsService) Create(parent string, googlecloudaiplatformv1endpoint *GoogleCloudAiplatformV1Endpoint) *ProjectsLocationsEndpointsCreateCall {
	c := &ProjectsLocationsEndpointsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1endpoint = googlecloudaiplatformv1endpoint
	return c
}

// EndpointId sets the optional parameter "endpointId": 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.
func (c *ProjectsLocationsEndpointsCreateCall) EndpointId(endpointId string) *ProjectsLocationsEndpointsCreateCall {
	c.urlParams_.Set("endpointId", endpointId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsCreateCall) Context(ctx context.Context) *ProjectsLocationsEndpointsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1endpoint)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/endpoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an Endpoint.
//
//   - name: The name of the Endpoint resource to be deleted. Format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) Delete(name string) *ProjectsLocationsEndpointsDeleteCall {
	c := &ProjectsLocationsEndpointsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEndpointsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsDeployModelCall struct {
	s                                         *Service
	endpoint                                  string
	googlecloudaiplatformv1deploymodelrequest *GoogleCloudAiplatformV1DeployModelRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// DeployModel: Deploys a Model into this Endpoint, creating a DeployedModel
// within it.
//
//   - endpoint: The name of the Endpoint resource into which to deploy a Model.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) DeployModel(endpoint string, googlecloudaiplatformv1deploymodelrequest *GoogleCloudAiplatformV1DeployModelRequest) *ProjectsLocationsEndpointsDeployModelCall {
	c := &ProjectsLocationsEndpointsDeployModelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1deploymodelrequest = googlecloudaiplatformv1deploymodelrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsDeployModelCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsDeployModelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsDeployModelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsDeployModelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsDeployModelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsDeployModelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1deploymodelrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:deployModel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.deployModel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.deployModel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsDeployModelCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.deployModel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsDirectPredictCall struct {
	s                                           *Service
	endpoint                                    string
	googlecloudaiplatformv1directpredictrequest *GoogleCloudAiplatformV1DirectPredictRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// DirectPredict: Perform an unary online prediction request to a gRPC model
// server for Vertex first-party products and frameworks.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) DirectPredict(endpoint string, googlecloudaiplatformv1directpredictrequest *GoogleCloudAiplatformV1DirectPredictRequest) *ProjectsLocationsEndpointsDirectPredictCall {
	c := &ProjectsLocationsEndpointsDirectPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1directpredictrequest = googlecloudaiplatformv1directpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsDirectPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsDirectPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsDirectPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsDirectPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsDirectPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsDirectPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1directpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:directPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.directPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.directPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DirectPredictResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsDirectPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DirectPredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DirectPredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.directPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsDirectRawPredictCall struct {
	s                                              *Service
	endpoint                                       string
	googlecloudaiplatformv1directrawpredictrequest *GoogleCloudAiplatformV1DirectRawPredictRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// DirectRawPredict: Perform an unary online prediction request to a gRPC model
// server for custom containers.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) DirectRawPredict(endpoint string, googlecloudaiplatformv1directrawpredictrequest *GoogleCloudAiplatformV1DirectRawPredictRequest) *ProjectsLocationsEndpointsDirectRawPredictCall {
	c := &ProjectsLocationsEndpointsDirectRawPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1directrawpredictrequest = googlecloudaiplatformv1directrawpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsDirectRawPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsDirectRawPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsDirectRawPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsDirectRawPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsDirectRawPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsDirectRawPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1directrawpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:directRawPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.directRawPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.directRawPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1DirectRawPredictResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsDirectRawPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1DirectRawPredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1DirectRawPredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.directRawPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsExplainCall struct {
	s                                     *Service
	endpoint                              string
	googlecloudaiplatformv1explainrequest *GoogleCloudAiplatformV1ExplainRequest
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Explain: Perform an online explanation. If deployed_model_id is specified,
// the corresponding DeployModel must have explanation_spec populated. If
// deployed_model_id is not specified, all DeployedModels must have
// explanation_spec populated.
//
//   - endpoint: The name of the Endpoint requested to serve the explanation.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) Explain(endpoint string, googlecloudaiplatformv1explainrequest *GoogleCloudAiplatformV1ExplainRequest) *ProjectsLocationsEndpointsExplainCall {
	c := &ProjectsLocationsEndpointsExplainCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1explainrequest = googlecloudaiplatformv1explainrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsExplainCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsExplainCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsExplainCall) Context(ctx context.Context) *ProjectsLocationsEndpointsExplainCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsExplainCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsExplainCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1explainrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:explain")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.explain", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.explain" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ExplainResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsExplainCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ExplainResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ExplainResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.explain", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsFetchPredictOperationCall struct {
	s                                                   *Service
	endpoint                                            string
	googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// FetchPredictOperation: Fetch an asynchronous online prediction operation.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *ProjectsLocationsEndpointsService) FetchPredictOperation(endpoint string, googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest) *ProjectsLocationsEndpointsFetchPredictOperationCall {
	c := &ProjectsLocationsEndpointsFetchPredictOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1fetchpredictoperationrequest = googlecloudaiplatformv1fetchpredictoperationrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsFetchPredictOperationCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsFetchPredictOperationCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsFetchPredictOperationCall) Context(ctx context.Context) *ProjectsLocationsEndpointsFetchPredictOperationCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsFetchPredictOperationCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsFetchPredictOperationCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1fetchpredictoperationrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:fetchPredictOperation")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.fetchPredictOperation", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.fetchPredictOperation" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsFetchPredictOperationCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.fetchPredictOperation", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// GenerateContent: Generate content with multimodal inputs.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) GenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *ProjectsLocationsEndpointsGenerateContentCall {
	c := &ProjectsLocationsEndpointsGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsGenerateContentCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsGenerateContentCall) Context(ctx context.Context) *ProjectsLocationsEndpointsGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:generateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.generateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.generateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.generateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets an Endpoint.
//
//   - name: The name of the Endpoint resource. Format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) Get(name string) *ProjectsLocationsEndpointsGetCall {
	c := &ProjectsLocationsEndpointsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEndpointsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEndpointsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsGetCall) Context(ctx context.Context) *ProjectsLocationsEndpointsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Endpoint.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Endpoint, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Endpoint{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Endpoints in a Location.
//
//   - parent: The resource name of the Location from which to list the
//     Endpoints. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEndpointsService) List(parent string) *ProjectsLocationsEndpointsListCall {
	c := &ProjectsLocationsEndpointsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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. *
// `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". * `base_model_name` only supports `=`.
// Some examples: * `endpoint=1` * `displayName="myDisplayName" *
// `labels.myKey="myValue" * `baseModelName="text-bison"
func (c *ProjectsLocationsEndpointsListCall) Filter(filter string) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// GdcZone sets the optional parameter "gdcZone": Configures the Google
// Distributed Cloud (GDC) environment for online prediction. Only set this
// field when the Endpoint is to be deployed in a GDC environment.
func (c *ProjectsLocationsEndpointsListCall) GdcZone(gdcZone string) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("gdcZone", gdcZone)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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` Example: `display_name, create_time desc`.
func (c *ProjectsLocationsEndpointsListCall) OrderBy(orderBy string) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsEndpointsListCall) PageSize(pageSize int64) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListEndpointsResponse.next_page_token of the
// previous EndpointService.ListEndpoints call.
func (c *ProjectsLocationsEndpointsListCall) PageToken(pageToken string) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsEndpointsListCall) ReadMask(readMask string) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEndpointsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEndpointsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsListCall) Context(ctx context.Context) *ProjectsLocationsEndpointsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/endpoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListEndpointsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListEndpointsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListEndpointsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsEndpointsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListEndpointsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsEndpointsMutateDeployedModelCall struct {
	s                                                 *Service
	endpoint                                          string
	googlecloudaiplatformv1mutatedeployedmodelrequest *GoogleCloudAiplatformV1MutateDeployedModelRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// MutateDeployedModel: Updates an existing deployed model. Updatable fields
// include `min_replica_count`, `max_replica_count`, `required_replica_count`,
// `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and
// `enable_container_logging` (v1beta1 only).
//
//   - endpoint: The name of the Endpoint resource into which to mutate a
//     DeployedModel. Format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) MutateDeployedModel(endpoint string, googlecloudaiplatformv1mutatedeployedmodelrequest *GoogleCloudAiplatformV1MutateDeployedModelRequest) *ProjectsLocationsEndpointsMutateDeployedModelCall {
	c := &ProjectsLocationsEndpointsMutateDeployedModelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1mutatedeployedmodelrequest = googlecloudaiplatformv1mutatedeployedmodelrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsMutateDeployedModelCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsMutateDeployedModelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsMutateDeployedModelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsMutateDeployedModelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsMutateDeployedModelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsMutateDeployedModelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1mutatedeployedmodelrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:mutateDeployedModel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.mutateDeployedModel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.mutateDeployedModel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsMutateDeployedModelCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.mutateDeployedModel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsPatchCall struct {
	s                               *Service
	name                            string
	googlecloudaiplatformv1endpoint *GoogleCloudAiplatformV1Endpoint
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// Patch: Updates an Endpoint.
//
// - name: Identifier. The resource name of the Endpoint.
func (r *ProjectsLocationsEndpointsService) Patch(name string, googlecloudaiplatformv1endpoint *GoogleCloudAiplatformV1Endpoint) *ProjectsLocationsEndpointsPatchCall {
	c := &ProjectsLocationsEndpointsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1endpoint = googlecloudaiplatformv1endpoint
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. See google.protobuf.FieldMask.
func (c *ProjectsLocationsEndpointsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEndpointsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsPatchCall) Context(ctx context.Context) *ProjectsLocationsEndpointsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1endpoint)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Endpoint.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Endpoint, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Endpoint{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsPredictCall struct {
	s                                     *Service
	endpoint                              string
	googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Predict:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) Predict(endpoint string, googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest) *ProjectsLocationsEndpointsPredictCall {
	c := &ProjectsLocationsEndpointsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictrequest = googlecloudaiplatformv1predictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.predict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.predict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PredictResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.predict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsPredictLongRunningCall struct {
	s                                                *Service
	endpoint                                         string
	googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// PredictLongRunning:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *ProjectsLocationsEndpointsService) PredictLongRunning(endpoint string, googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest) *ProjectsLocationsEndpointsPredictLongRunningCall {
	c := &ProjectsLocationsEndpointsPredictLongRunningCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictlongrunningrequest = googlecloudaiplatformv1predictlongrunningrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsPredictLongRunningCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsPredictLongRunningCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsPredictLongRunningCall) Context(ctx context.Context) *ProjectsLocationsEndpointsPredictLongRunningCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsPredictLongRunningCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsPredictLongRunningCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictlongrunningrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predictLongRunning")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.predictLongRunning", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.predictLongRunning" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsPredictLongRunningCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.predictLongRunning", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsRawPredictCall struct {
	s                                        *Service
	endpoint                                 string
	googlecloudaiplatformv1rawpredictrequest *GoogleCloudAiplatformV1RawPredictRequest
	urlParams_                               gensupport.URLParams
	ctx_                                     context.Context
	header_                                  http.Header
}

// RawPredict: 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 that served this prediction. *
// `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that
// served this prediction.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) RawPredict(endpoint string, googlecloudaiplatformv1rawpredictrequest *GoogleCloudAiplatformV1RawPredictRequest) *ProjectsLocationsEndpointsRawPredictCall {
	c := &ProjectsLocationsEndpointsRawPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1rawpredictrequest = googlecloudaiplatformv1rawpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsRawPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsRawPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsRawPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsRawPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsRawPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsRawPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1rawpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:rawPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.rawPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.rawPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsRawPredictCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.rawPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsServerStreamingPredictCall struct {
	s                                              *Service
	endpoint                                       string
	googlecloudaiplatformv1streamingpredictrequest *GoogleCloudAiplatformV1StreamingPredictRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// ServerStreamingPredict: Perform a server-side streaming online prediction
// request for Vertex LLM streaming.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) ServerStreamingPredict(endpoint string, googlecloudaiplatformv1streamingpredictrequest *GoogleCloudAiplatformV1StreamingPredictRequest) *ProjectsLocationsEndpointsServerStreamingPredictCall {
	c := &ProjectsLocationsEndpointsServerStreamingPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1streamingpredictrequest = googlecloudaiplatformv1streamingpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsServerStreamingPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsServerStreamingPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsServerStreamingPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsServerStreamingPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsServerStreamingPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsServerStreamingPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamingpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:serverStreamingPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.serverStreamingPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.serverStreamingPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1StreamingPredictResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsServerStreamingPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1StreamingPredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1StreamingPredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.serverStreamingPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsStreamGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// StreamGenerateContent: Generate content with multimodal inputs with
// streaming support.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) StreamGenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *ProjectsLocationsEndpointsStreamGenerateContentCall {
	c := &ProjectsLocationsEndpointsStreamGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsStreamGenerateContentCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsStreamGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsStreamGenerateContentCall) Context(ctx context.Context) *ProjectsLocationsEndpointsStreamGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsStreamGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsStreamGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:streamGenerateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.streamGenerateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.streamGenerateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsStreamGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.streamGenerateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsStreamRawPredictCall struct {
	s                                              *Service
	endpoint                                       string
	googlecloudaiplatformv1streamrawpredictrequest *GoogleCloudAiplatformV1StreamRawPredictRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// StreamRawPredict: Perform a streaming online prediction with an arbitrary
// HTTP payload.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *ProjectsLocationsEndpointsService) StreamRawPredict(endpoint string, googlecloudaiplatformv1streamrawpredictrequest *GoogleCloudAiplatformV1StreamRawPredictRequest) *ProjectsLocationsEndpointsStreamRawPredictCall {
	c := &ProjectsLocationsEndpointsStreamRawPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1streamrawpredictrequest = googlecloudaiplatformv1streamrawpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsStreamRawPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsStreamRawPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsStreamRawPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsStreamRawPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsStreamRawPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsStreamRawPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamrawpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:streamRawPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.streamRawPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.streamRawPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsStreamRawPredictCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.streamRawPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsUndeployModelCall struct {
	s                                           *Service
	endpoint                                    string
	googlecloudaiplatformv1undeploymodelrequest *GoogleCloudAiplatformV1UndeployModelRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// UndeployModel: Undeploys a Model from an Endpoint, removing a DeployedModel
// from it, and freeing all resources it's using.
//
//   - endpoint: The name of the Endpoint resource from which to undeploy a
//     Model. Format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsService) UndeployModel(endpoint string, googlecloudaiplatformv1undeploymodelrequest *GoogleCloudAiplatformV1UndeployModelRequest) *ProjectsLocationsEndpointsUndeployModelCall {
	c := &ProjectsLocationsEndpointsUndeployModelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1undeploymodelrequest = googlecloudaiplatformv1undeploymodelrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsUndeployModelCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsUndeployModelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsUndeployModelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsUndeployModelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsUndeployModelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsUndeployModelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1undeploymodelrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:undeployModel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.undeployModel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.undeployModel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsUndeployModelCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.undeployModel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsUpdateCall struct {
	s                                                       *Service
	name                                                    string
	googlecloudaiplatformv1updateendpointlongrunningrequest *GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest
	urlParams_                                              gensupport.URLParams
	ctx_                                                    context.Context
	header_                                                 http.Header
}

// Update: Updates an Endpoint with a long running operation.
//
// - name: Identifier. The resource name of the Endpoint.
func (r *ProjectsLocationsEndpointsService) Update(name string, googlecloudaiplatformv1updateendpointlongrunningrequest *GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest) *ProjectsLocationsEndpointsUpdateCall {
	c := &ProjectsLocationsEndpointsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1updateendpointlongrunningrequest = googlecloudaiplatformv1updateendpointlongrunningrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsUpdateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsUpdateCall) Context(ctx context.Context) *ProjectsLocationsEndpointsUpdateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsUpdateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsUpdateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1updateendpointlongrunningrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:update")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.update", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.update" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.update", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsChatCompletionsCall struct {
	s                 *Service
	endpoint          string
	googleapihttpbody *GoogleApiHttpBody
	urlParams_        gensupport.URLParams
	ctx_              context.Context
	header_           http.Header
}

// Completions: Exposes an OpenAI-compatible endpoint for chat completions.
//
//   - endpoint: The name of the endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsChatService) Completions(endpoint string, googleapihttpbody *GoogleApiHttpBody) *ProjectsLocationsEndpointsChatCompletionsCall {
	c := &ProjectsLocationsEndpointsChatCompletionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googleapihttpbody = googleapihttpbody
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsChatCompletionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsChatCompletionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsChatCompletionsCall) Context(ctx context.Context) *ProjectsLocationsEndpointsChatCompletionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsChatCompletionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsChatCompletionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleapihttpbody)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/chat/completions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.chat.completions", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.chat.completions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsChatCompletionsCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.chat.completions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall struct {
	s                                    *Service
	endpoint                             string
	deployedModelId                      string
	invokeId                             string
	googlecloudaiplatformv1invokerequest *GoogleCloudAiplatformV1InvokeRequest
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Invoke: Forwards arbitrary HTTP requests for both streaming and
// non-streaming cases. To use this method, invoke_route_prefix must be set to
// allow the paths that will be specified in the request.
//
//   - deployedModelId: ID of the DeployedModel that serves the invoke request.
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
//   - invokeId: .
func (r *ProjectsLocationsEndpointsDeployedModelsInvokeService) Invoke(endpoint string, deployedModelId string, invokeId string, googlecloudaiplatformv1invokerequest *GoogleCloudAiplatformV1InvokeRequest) *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall {
	c := &ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.deployedModelId = deployedModelId
	c.invokeId = invokeId
	c.googlecloudaiplatformv1invokerequest = googlecloudaiplatformv1invokerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall) Context(ctx context.Context) *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1invokerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/deployedModels/{deployedModelId}/invoke/{+invokeId}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint":        c.endpoint,
		"deployedModelId": c.deployedModelId,
		"invokeId":        c.invokeId,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.deployedModels.invoke.invoke", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.deployedModels.invoke.invoke" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsDeployedModelsInvokeInvokeCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.deployedModels.invoke.invoke", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsGoogleScienceInferenceCall struct {
	s                 *Service
	endpoint          string
	googleapihttpbody *GoogleApiHttpBody
	urlParams_        gensupport.URLParams
	ctx_              context.Context
	header_           http.Header
}

// Inference: Forwards arbitrary HTTP requests for both streaming and
// non-streaming cases. To use this method, invoke_route_prefix must be set to
// allow the paths that will be specified in the request.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsGoogleScienceService) Inference(endpoint string, googleapihttpbody *GoogleApiHttpBody) *ProjectsLocationsEndpointsGoogleScienceInferenceCall {
	c := &ProjectsLocationsEndpointsGoogleScienceInferenceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googleapihttpbody = googleapihttpbody
	return c
}

// DeployedModelId sets the optional parameter "deployedModelId": ID of the
// DeployedModel that serves the invoke request.
func (c *ProjectsLocationsEndpointsGoogleScienceInferenceCall) DeployedModelId(deployedModelId string) *ProjectsLocationsEndpointsGoogleScienceInferenceCall {
	c.urlParams_.Set("deployedModelId", deployedModelId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsGoogleScienceInferenceCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsGoogleScienceInferenceCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsGoogleScienceInferenceCall) Context(ctx context.Context) *ProjectsLocationsEndpointsGoogleScienceInferenceCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsGoogleScienceInferenceCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsGoogleScienceInferenceCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleapihttpbody)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/science/inference")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.google.science.inference", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.google.science.inference" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsGoogleScienceInferenceCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.google.science.inference", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsInvokeInvokeCall struct {
	s                                    *Service
	endpoint                             string
	invokeId                             string
	googlecloudaiplatformv1invokerequest *GoogleCloudAiplatformV1InvokeRequest
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Invoke: Forwards arbitrary HTTP requests for both streaming and
// non-streaming cases. To use this method, invoke_route_prefix must be set to
// allow the paths that will be specified in the request.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
//   - invokeId: .
func (r *ProjectsLocationsEndpointsInvokeService) Invoke(endpoint string, invokeId string, googlecloudaiplatformv1invokerequest *GoogleCloudAiplatformV1InvokeRequest) *ProjectsLocationsEndpointsInvokeInvokeCall {
	c := &ProjectsLocationsEndpointsInvokeInvokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.invokeId = invokeId
	c.googlecloudaiplatformv1invokerequest = googlecloudaiplatformv1invokerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsInvokeInvokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsInvokeInvokeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsInvokeInvokeCall) Context(ctx context.Context) *ProjectsLocationsEndpointsInvokeInvokeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsInvokeInvokeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsInvokeInvokeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1invokerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/invoke/{+invokeId}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
		"invokeId": c.invokeId,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.invoke.invoke", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.invoke.invoke" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsInvokeInvokeCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.invoke.invoke", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsOpenapiCompletionsCall struct {
	s                 *Service
	endpoint          string
	googleapihttpbody *GoogleApiHttpBody
	urlParams_        gensupport.URLParams
	ctx_              context.Context
	header_           http.Header
}

// Completions: Forwards arbitrary HTTP requests for both streaming and
// non-streaming cases. To use this method, invoke_route_prefix must be set to
// allow the paths that will be specified in the request.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsOpenapiService) Completions(endpoint string, googleapihttpbody *GoogleApiHttpBody) *ProjectsLocationsEndpointsOpenapiCompletionsCall {
	c := &ProjectsLocationsEndpointsOpenapiCompletionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googleapihttpbody = googleapihttpbody
	return c
}

// DeployedModelId sets the optional parameter "deployedModelId": ID of the
// DeployedModel that serves the invoke request.
func (c *ProjectsLocationsEndpointsOpenapiCompletionsCall) DeployedModelId(deployedModelId string) *ProjectsLocationsEndpointsOpenapiCompletionsCall {
	c.urlParams_.Set("deployedModelId", deployedModelId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOpenapiCompletionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOpenapiCompletionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOpenapiCompletionsCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOpenapiCompletionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOpenapiCompletionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOpenapiCompletionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleapihttpbody)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/completions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.openapi.completions", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.openapi.completions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsOpenapiCompletionsCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.openapi.completions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsOpenapiEmbeddingsCall struct {
	s                 *Service
	endpoint          string
	googleapihttpbody *GoogleApiHttpBody
	urlParams_        gensupport.URLParams
	ctx_              context.Context
	header_           http.Header
}

// Embeddings: Forwards arbitrary HTTP requests for both streaming and
// non-streaming cases. To use this method, invoke_route_prefix must be set to
// allow the paths that will be specified in the request.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsOpenapiService) Embeddings(endpoint string, googleapihttpbody *GoogleApiHttpBody) *ProjectsLocationsEndpointsOpenapiEmbeddingsCall {
	c := &ProjectsLocationsEndpointsOpenapiEmbeddingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googleapihttpbody = googleapihttpbody
	return c
}

// DeployedModelId sets the optional parameter "deployedModelId": ID of the
// DeployedModel that serves the invoke request.
func (c *ProjectsLocationsEndpointsOpenapiEmbeddingsCall) DeployedModelId(deployedModelId string) *ProjectsLocationsEndpointsOpenapiEmbeddingsCall {
	c.urlParams_.Set("deployedModelId", deployedModelId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOpenapiEmbeddingsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOpenapiEmbeddingsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOpenapiEmbeddingsCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOpenapiEmbeddingsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOpenapiEmbeddingsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOpenapiEmbeddingsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleapihttpbody)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/embeddings")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.openapi.embeddings", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.openapi.embeddings" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsOpenapiEmbeddingsCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.openapi.embeddings", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsOpenapiResponsesCall struct {
	s                 *Service
	endpoint          string
	googleapihttpbody *GoogleApiHttpBody
	urlParams_        gensupport.URLParams
	ctx_              context.Context
	header_           http.Header
}

// Responses: Forwards arbitrary HTTP requests for both streaming and
// non-streaming cases. To use this method, invoke_route_prefix must be set to
// allow the paths that will be specified in the request.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsEndpointsOpenapiService) Responses(endpoint string, googleapihttpbody *GoogleApiHttpBody) *ProjectsLocationsEndpointsOpenapiResponsesCall {
	c := &ProjectsLocationsEndpointsOpenapiResponsesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googleapihttpbody = googleapihttpbody
	return c
}

// DeployedModelId sets the optional parameter "deployedModelId": ID of the
// DeployedModel that serves the invoke request.
func (c *ProjectsLocationsEndpointsOpenapiResponsesCall) DeployedModelId(deployedModelId string) *ProjectsLocationsEndpointsOpenapiResponsesCall {
	c.urlParams_.Set("deployedModelId", deployedModelId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOpenapiResponsesCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOpenapiResponsesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOpenapiResponsesCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOpenapiResponsesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOpenapiResponsesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOpenapiResponsesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleapihttpbody)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/responses")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.openapi.responses", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.openapi.responses" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsOpenapiResponsesCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.openapi.responses", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsEndpointsOperationsService) Cancel(name string) *ProjectsLocationsEndpointsOperationsCancelCall {
	c := &ProjectsLocationsEndpointsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsEndpointsOperationsService) Delete(name string) *ProjectsLocationsEndpointsOperationsDeleteCall {
	c := &ProjectsLocationsEndpointsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEndpointsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsEndpointsOperationsService) Get(name string) *ProjectsLocationsEndpointsOperationsGetCall {
	c := &ProjectsLocationsEndpointsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEndpointsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEndpointsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEndpointsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsEndpointsOperationsService) List(name string) *ProjectsLocationsEndpointsOperationsListCall {
	c := &ProjectsLocationsEndpointsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsEndpointsOperationsListCall) Filter(filter string) *ProjectsLocationsEndpointsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsEndpointsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsEndpointsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsEndpointsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsEndpointsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsEndpointsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsEndpointsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEndpointsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEndpointsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsEndpointsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsEndpointsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsEndpointsOperationsService) Wait(name string) *ProjectsLocationsEndpointsOperationsWaitCall {
	c := &ProjectsLocationsEndpointsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsEndpointsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsEndpointsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEndpointsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEndpointsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEndpointsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEndpointsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.endpoints.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEndpointsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.endpoints.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationItemsCreateCall struct {
	s                                     *Service
	parent                                string
	googlecloudaiplatformv1evaluationitem *GoogleCloudAiplatformV1EvaluationItem
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Create: Creates an Evaluation Item.
//
//   - parent: The resource name of the Location to create the Evaluation Item
//     in. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEvaluationItemsService) Create(parent string, googlecloudaiplatformv1evaluationitem *GoogleCloudAiplatformV1EvaluationItem) *ProjectsLocationsEvaluationItemsCreateCall {
	c := &ProjectsLocationsEvaluationItemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1evaluationitem = googlecloudaiplatformv1evaluationitem
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationItemsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationItemsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationItemsCreateCall) Context(ctx context.Context) *ProjectsLocationsEvaluationItemsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationItemsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationItemsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluationitem)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluationItems")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationItems.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluationItem.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationItemsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluationItem, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluationItem{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationItemsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an Evaluation Item.
//
//   - name: The name of the EvaluationItem resource to be deleted. Format:
//     `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`.
func (r *ProjectsLocationsEvaluationItemsService) Delete(name string) *ProjectsLocationsEvaluationItemsDeleteCall {
	c := &ProjectsLocationsEvaluationItemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationItemsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationItemsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationItemsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEvaluationItemsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationItemsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationItems.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationItemsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationItemsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets an Evaluation Item.
//
//   - name: The name of the EvaluationItem resource. Format:
//     `projects/{project}/locations/{location}/evaluationItems/{evaluation_item}`.
func (r *ProjectsLocationsEvaluationItemsService) Get(name string) *ProjectsLocationsEvaluationItemsGetCall {
	c := &ProjectsLocationsEvaluationItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationItemsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationItemsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEvaluationItemsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEvaluationItemsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationItemsGetCall) Context(ctx context.Context) *ProjectsLocationsEvaluationItemsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationItemsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationItemsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationItems.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluationItem.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationItemsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluationItem, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluationItem{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationItemsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Evaluation Items.
//
//   - parent: The resource name of the Location from which to list the
//     Evaluation Items. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEvaluationItemsService) List(parent string) *ProjectsLocationsEvaluationItemsListCall {
	c := &ProjectsLocationsEvaluationItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Filter expression that matches
// a subset of the EvaluationItems to show. For field names both snake_case and
// camelCase are supported. For more information about filter syntax, see
// AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsEvaluationItemsListCall) Filter(filter string) *ProjectsLocationsEvaluationItemsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order by default. Use `desc` after a
// field name for descending.
func (c *ProjectsLocationsEvaluationItemsListCall) OrderBy(orderBy string) *ProjectsLocationsEvaluationItemsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// Evaluation Items to return.
func (c *ProjectsLocationsEvaluationItemsListCall) PageSize(pageSize int64) *ProjectsLocationsEvaluationItemsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListEvaluationItems` call. Provide this to retrieve the
// subsequent page.
func (c *ProjectsLocationsEvaluationItemsListCall) PageToken(pageToken string) *ProjectsLocationsEvaluationItemsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationItemsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationItemsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEvaluationItemsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEvaluationItemsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationItemsListCall) Context(ctx context.Context) *ProjectsLocationsEvaluationItemsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationItemsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationItemsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluationItems")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationItems.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListEvaluationItemsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationItemsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListEvaluationItemsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListEvaluationItemsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationItems.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsEvaluationItemsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListEvaluationItemsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsEvaluationRunsCancelCall struct {
	s                                                 *Service
	name                                              string
	googlecloudaiplatformv1cancelevaluationrunrequest *GoogleCloudAiplatformV1CancelEvaluationRunRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// Cancel: Cancels an Evaluation Run. Attempts to cancel a running Evaluation
// Run asynchronously. Status of run can be checked via GetEvaluationRun.
//
//   - name: The name of the EvaluationRun resource to be cancelled. Format:
//     `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`.
func (r *ProjectsLocationsEvaluationRunsService) Cancel(name string, googlecloudaiplatformv1cancelevaluationrunrequest *GoogleCloudAiplatformV1CancelEvaluationRunRequest) *ProjectsLocationsEvaluationRunsCancelCall {
	c := &ProjectsLocationsEvaluationRunsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cancelevaluationrunrequest = googlecloudaiplatformv1cancelevaluationrunrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationRunsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationRunsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationRunsCancelCall) Context(ctx context.Context) *ProjectsLocationsEvaluationRunsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationRunsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationRunsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cancelevaluationrunrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationRuns.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsEvaluationRunsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationRunsCreateCall struct {
	s                                    *Service
	parent                               string
	googlecloudaiplatformv1evaluationrun *GoogleCloudAiplatformV1EvaluationRun
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Create: Creates an Evaluation Run.
//
//   - parent: The resource name of the Location to create the Evaluation Run in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEvaluationRunsService) Create(parent string, googlecloudaiplatformv1evaluationrun *GoogleCloudAiplatformV1EvaluationRun) *ProjectsLocationsEvaluationRunsCreateCall {
	c := &ProjectsLocationsEvaluationRunsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1evaluationrun = googlecloudaiplatformv1evaluationrun
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationRunsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationRunsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationRunsCreateCall) Context(ctx context.Context) *ProjectsLocationsEvaluationRunsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationRunsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationRunsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluationrun)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluationRuns")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationRuns.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluationRun.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationRunsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluationRun, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluationRun{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationRunsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an Evaluation Run.
//
//   - name: The name of the EvaluationRun resource to be deleted. Format:
//     `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`.
func (r *ProjectsLocationsEvaluationRunsService) Delete(name string) *ProjectsLocationsEvaluationRunsDeleteCall {
	c := &ProjectsLocationsEvaluationRunsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationRunsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationRunsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationRunsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEvaluationRunsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationRunsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationRunsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationRuns.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationRunsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationRunsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets an Evaluation Run.
//
//   - name: The name of the EvaluationRun resource. Format:
//     `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run}`.
func (r *ProjectsLocationsEvaluationRunsService) Get(name string) *ProjectsLocationsEvaluationRunsGetCall {
	c := &ProjectsLocationsEvaluationRunsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationRunsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationRunsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEvaluationRunsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEvaluationRunsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationRunsGetCall) Context(ctx context.Context) *ProjectsLocationsEvaluationRunsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationRunsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationRunsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationRuns.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluationRun.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationRunsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluationRun, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluationRun{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationRunsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Evaluation Runs.
//
//   - parent: The resource name of the Location from which to list the
//     Evaluation Runs. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEvaluationRunsService) List(parent string) *ProjectsLocationsEvaluationRunsListCall {
	c := &ProjectsLocationsEvaluationRunsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Filter expression that matches
// a subset of the EvaluationRuns to show. For field names both snake_case and
// camelCase are supported. For more information about filter syntax, see
// AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsEvaluationRunsListCall) Filter(filter string) *ProjectsLocationsEvaluationRunsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order by default. Use `desc` after a
// field name for descending.
func (c *ProjectsLocationsEvaluationRunsListCall) OrderBy(orderBy string) *ProjectsLocationsEvaluationRunsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// Evaluation Runs to return.
func (c *ProjectsLocationsEvaluationRunsListCall) PageSize(pageSize int64) *ProjectsLocationsEvaluationRunsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListEvaluationRuns` call. Provide this to retrieve the
// subsequent page.
func (c *ProjectsLocationsEvaluationRunsListCall) PageToken(pageToken string) *ProjectsLocationsEvaluationRunsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationRunsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationRunsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEvaluationRunsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEvaluationRunsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationRunsListCall) Context(ctx context.Context) *ProjectsLocationsEvaluationRunsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationRunsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationRunsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluationRuns")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationRuns.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListEvaluationRunsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationRunsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListEvaluationRunsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListEvaluationRunsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationRuns.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsEvaluationRunsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListEvaluationRunsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsEvaluationSetsCreateCall struct {
	s                                    *Service
	parent                               string
	googlecloudaiplatformv1evaluationset *GoogleCloudAiplatformV1EvaluationSet
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Create: Creates an Evaluation Set.
//
//   - parent: The resource name of the Location to create the Evaluation Set in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEvaluationSetsService) Create(parent string, googlecloudaiplatformv1evaluationset *GoogleCloudAiplatformV1EvaluationSet) *ProjectsLocationsEvaluationSetsCreateCall {
	c := &ProjectsLocationsEvaluationSetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1evaluationset = googlecloudaiplatformv1evaluationset
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationSetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationSetsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationSetsCreateCall) Context(ctx context.Context) *ProjectsLocationsEvaluationSetsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationSetsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationSetsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluationset)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluationSets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationSets.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluationSet.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationSetsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluationSet, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluationSet{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationSetsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an Evaluation Set.
//
//   - name: The name of the EvaluationSet resource to be deleted. Format:
//     `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`.
func (r *ProjectsLocationsEvaluationSetsService) Delete(name string) *ProjectsLocationsEvaluationSetsDeleteCall {
	c := &ProjectsLocationsEvaluationSetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationSetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationSetsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationSetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEvaluationSetsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationSetsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationSetsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationSets.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationSetsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationSetsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets an Evaluation Set.
//
//   - name: The name of the EvaluationSet resource. Format:
//     `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`.
func (r *ProjectsLocationsEvaluationSetsService) Get(name string) *ProjectsLocationsEvaluationSetsGetCall {
	c := &ProjectsLocationsEvaluationSetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationSetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationSetsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEvaluationSetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEvaluationSetsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationSetsGetCall) Context(ctx context.Context) *ProjectsLocationsEvaluationSetsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationSetsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationSetsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationSets.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluationSet.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationSetsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluationSet, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluationSet{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsEvaluationSetsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Evaluation Sets.
//
//   - parent: The resource name of the Location from which to list the
//     Evaluation Sets. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsEvaluationSetsService) List(parent string) *ProjectsLocationsEvaluationSetsListCall {
	c := &ProjectsLocationsEvaluationSetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Filter expression that matches
// a subset of the EvaluationSets to show. For field names both snake_case and
// camelCase are supported. For more information about filter syntax, see
// AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsEvaluationSetsListCall) Filter(filter string) *ProjectsLocationsEvaluationSetsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order by default. Use `desc` after a
// field name for descending.
func (c *ProjectsLocationsEvaluationSetsListCall) OrderBy(orderBy string) *ProjectsLocationsEvaluationSetsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// Evaluation Sets to return.
func (c *ProjectsLocationsEvaluationSetsListCall) PageSize(pageSize int64) *ProjectsLocationsEvaluationSetsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListEvaluationSets` call. Provide this to retrieve the
// subsequent page.
func (c *ProjectsLocationsEvaluationSetsListCall) PageToken(pageToken string) *ProjectsLocationsEvaluationSetsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationSetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationSetsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEvaluationSetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEvaluationSetsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationSetsListCall) Context(ctx context.Context) *ProjectsLocationsEvaluationSetsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationSetsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationSetsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluationSets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationSets.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListEvaluationSetsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationSetsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListEvaluationSetsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListEvaluationSetsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsEvaluationSetsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListEvaluationSetsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsEvaluationSetsPatchCall struct {
	s                                    *Service
	name                                 string
	googlecloudaiplatformv1evaluationset *GoogleCloudAiplatformV1EvaluationSet
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Patch: Updates an Evaluation Set.
//
//   - name: Identifier. The resource name of the EvaluationSet. Format:
//     `projects/{project}/locations/{location}/evaluationSets/{evaluation_set}`.
func (r *ProjectsLocationsEvaluationSetsService) Patch(name string, googlecloudaiplatformv1evaluationset *GoogleCloudAiplatformV1EvaluationSet) *ProjectsLocationsEvaluationSetsPatchCall {
	c := &ProjectsLocationsEvaluationSetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1evaluationset = googlecloudaiplatformv1evaluationset
	return c
}

// UpdateMask sets the optional parameter "updateMask": The update mask applies
// to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask.
func (c *ProjectsLocationsEvaluationSetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEvaluationSetsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEvaluationSetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEvaluationSetsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEvaluationSetsPatchCall) Context(ctx context.Context) *ProjectsLocationsEvaluationSetsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEvaluationSetsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEvaluationSetsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluationset)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.evaluationSets.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluationSet.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEvaluationSetsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluationSet, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluationSet{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.evaluationSets.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsCreateCall struct {
	s                                   *Service
	parent                              string
	googlecloudaiplatformv1featuregroup *GoogleCloudAiplatformV1FeatureGroup
	urlParams_                          gensupport.URLParams
	ctx_                                context.Context
	header_                             http.Header
}

// Create: Creates a new FeatureGroup in a given project and location.
//
//   - parent: The resource name of the Location to create FeatureGroups. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsFeatureGroupsService) Create(parent string, googlecloudaiplatformv1featuregroup *GoogleCloudAiplatformV1FeatureGroup) *ProjectsLocationsFeatureGroupsCreateCall {
	c := &ProjectsLocationsFeatureGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1featuregroup = googlecloudaiplatformv1featuregroup
	return c
}

// FeatureGroupId sets the optional parameter "featureGroupId": 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 128 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.
func (c *ProjectsLocationsFeatureGroupsCreateCall) FeatureGroupId(featureGroupId string) *ProjectsLocationsFeatureGroupsCreateCall {
	c.urlParams_.Set("featureGroupId", featureGroupId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsCreateCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featuregroup)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featureGroups")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single FeatureGroup.
//
//   - name: The name of the FeatureGroup to be deleted. Format:
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeatureGroupsService) Delete(name string) *ProjectsLocationsFeatureGroupsDeleteCall {
	c := &ProjectsLocationsFeatureGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": 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.)
func (c *ProjectsLocationsFeatureGroupsDeleteCall) Force(force bool) *ProjectsLocationsFeatureGroupsDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single FeatureGroup.
//
// - name: The name of the FeatureGroup resource.
func (r *ProjectsLocationsFeatureGroupsService) Get(name string) *ProjectsLocationsFeatureGroupsGetCall {
	c := &ProjectsLocationsFeatureGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1FeatureGroup.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1FeatureGroup, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1FeatureGroup{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeatureGroupsService) GetIamPolicy(resource string) *ProjectsLocationsFeatureGroupsGetIamPolicyCall {
	c := &ProjectsLocationsFeatureGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsFeatureGroupsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeatureGroupsGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists FeatureGroups in a given project and location.
//
//   - parent: The resource name of the Location to list FeatureGroups. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsFeatureGroupsService) List(parent string) *ProjectsLocationsFeatureGroupsListCall {
	c := &ProjectsLocationsFeatureGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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".
func (c *ProjectsLocationsFeatureGroupsListCall) Filter(filter string) *ProjectsLocationsFeatureGroupsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeatureGroupsListCall) OrderBy(orderBy string) *ProjectsLocationsFeatureGroupsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeatureGroupsListCall) PageSize(pageSize int64) *ProjectsLocationsFeatureGroupsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeatureRegistryService.ListFeatureGroups call. Provide this
// to retrieve the subsequent page. When paginating, all other parameters
// provided to FeatureRegistryService.ListFeatureGroups must match the call
// that provided the page token.
func (c *ProjectsLocationsFeatureGroupsListCall) PageToken(pageToken string) *ProjectsLocationsFeatureGroupsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsListCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featureGroups")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListFeatureGroupsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListFeatureGroupsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListFeatureGroupsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureGroupsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListFeatureGroupsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureGroupsPatchCall struct {
	s                                   *Service
	name                                string
	googlecloudaiplatformv1featuregroup *GoogleCloudAiplatformV1FeatureGroup
	urlParams_                          gensupport.URLParams
	ctx_                                context.Context
	header_                             http.Header
}

// Patch: Updates the parameters of a single FeatureGroup.
//
//   - name: Identifier. Name of the FeatureGroup. Format:
//     `projects/{project}/locations/{location}/featureGroups/{featureGroup}`.
func (r *ProjectsLocationsFeatureGroupsService) Patch(name string, googlecloudaiplatformv1featuregroup *GoogleCloudAiplatformV1FeatureGroup) *ProjectsLocationsFeatureGroupsPatchCall {
	c := &ProjectsLocationsFeatureGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1featuregroup = googlecloudaiplatformv1featuregroup
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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` * `description` *
// `big_query` * `big_query.entity_id_columns` * `service_agent_type`
func (c *ProjectsLocationsFeatureGroupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeatureGroupsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsPatchCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featuregroup)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeatureGroupsService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsFeatureGroupsSetIamPolicyCall {
	c := &ProjectsLocationsFeatureGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsFeatureGroupsService) TestIamPermissions(resource string) *ProjectsLocationsFeatureGroupsTestIamPermissionsCall {
	c := &ProjectsLocationsFeatureGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsFeatureGroupsTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsFeatureGroupsTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall struct {
	s                                                 *Service
	parent                                            string
	googlecloudaiplatformv1batchcreatefeaturesrequest *GoogleCloudAiplatformV1BatchCreateFeaturesRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// BatchCreate: Creates a batch of Features in a given FeatureGroup.
//
//   - parent: The resource name of the EntityType/FeatureGroup to create the
//     batch of Features under. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeatureGroupsFeaturesService) BatchCreate(parent string, googlecloudaiplatformv1batchcreatefeaturesrequest *GoogleCloudAiplatformV1BatchCreateFeaturesRequest) *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchcreatefeaturesrequest = googlecloudaiplatformv1batchcreatefeaturesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchcreatefeaturesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features:batchCreate")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.batchCreate" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesBatchCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.batchCreate", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesCreateCall struct {
	s                              *Service
	parent                         string
	googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Create: Creates a new Feature in a given FeatureGroup.
//
//   - parent: The resource name of the EntityType or FeatureGroup to create a
//     Feature. Format for entity_type as parent:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}` Format for feature_group as parent:
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeatureGroupsFeaturesService) Create(parent string, googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature) *ProjectsLocationsFeatureGroupsFeaturesCreateCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1feature = googlecloudaiplatformv1feature
	return c
}

// FeatureId sets the optional parameter "featureId": 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.
func (c *ProjectsLocationsFeatureGroupsFeaturesCreateCall) FeatureId(featureId string) *ProjectsLocationsFeatureGroupsFeaturesCreateCall {
	c.urlParams_.Set("featureId", featureId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1feature)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single Feature.
//
//   - name: The name of the Features to be deleted. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}/features/{feature}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}/feat
//     ures/{feature}`.
func (r *ProjectsLocationsFeatureGroupsFeaturesService) Delete(name string) *ProjectsLocationsFeatureGroupsFeaturesDeleteCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single Feature.
//
//   - name: The name of the Feature resource. Format for entity_type as parent:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}` Format for feature_group as parent:
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeatureGroupsFeaturesService) Get(name string) *ProjectsLocationsFeatureGroupsFeaturesGetCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsFeaturesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsFeaturesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Feature.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Feature, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Feature{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Features in a given FeatureGroup.
//
//   - parent: The resource name of the Location to list Features. Format for
//     entity_type as parent:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}` Format for feature_group as parent:
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeatureGroupsFeaturesService) List(parent string) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) Filter(filter string) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// LatestStatsCount sets the optional parameter "latestStatsCount": Only
// applicable for Vertex AI Feature Store (Legacy). If set, return the most
// recent 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, return all existing stats.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) LatestStatsCount(latestStatsCount int64) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.urlParams_.Set("latestStatsCount", fmt.Sprint(latestStatsCount))
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) OrderBy(orderBy string) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) PageSize(pageSize int64) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeaturestoreService.ListFeatures call or
// FeatureRegistryService.ListFeatures call. Provide this to retrieve the
// subsequent page. When paginating, all other parameters provided to
// FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must
// match the call that provided the page token.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) PageToken(pageToken string) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) ReadMask(readMask string) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListFeaturesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListFeaturesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListFeaturesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureGroupsFeaturesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListFeaturesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureGroupsFeaturesPatchCall struct {
	s                              *Service
	name                           string
	googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Patch: Updates the parameters of a single Feature.
//
//   - name: Immutable. Name of the Feature. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}/features/{feature}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}/feat
//     ures/{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.
func (r *ProjectsLocationsFeatureGroupsFeaturesService) Patch(name string, googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature) *ProjectsLocationsFeatureGroupsFeaturesPatchCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1feature = googlecloudaiplatformv1feature
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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 FeatureRegistryService Feature) * `point_of_contact` (Not
// supported for FeaturestoreService FeatureStore)
func (c *ProjectsLocationsFeatureGroupsFeaturesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeatureGroupsFeaturesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1feature)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsFeatureGroupsFeaturesOperationsService) Delete(name string) *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsFeatureGroupsFeaturesOperationsService) Get(name string) *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsFeatureGroupsFeaturesOperationsService) ListWait(name string) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) Filter(filter string) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) PageSize(pageSize int64) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) PageToken(pageToken string) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsFeatureGroupsFeaturesOperationsService) Wait(name string) *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall {
	c := &ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.features.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsFeaturesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.features.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsFeatureGroupsOperationsService) Delete(name string) *ProjectsLocationsFeatureGroupsOperationsDeleteCall {
	c := &ProjectsLocationsFeatureGroupsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureGroupsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsFeatureGroupsOperationsService) Get(name string) *ProjectsLocationsFeatureGroupsOperationsGetCall {
	c := &ProjectsLocationsFeatureGroupsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureGroupsOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsFeatureGroupsOperationsService) ListWait(name string) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c := &ProjectsLocationsFeatureGroupsOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) Filter(filter string) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) PageSize(pageSize int64) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) PageToken(pageToken string) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureGroupsOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureGroupsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsFeatureGroupsOperationsService) Wait(name string) *ProjectsLocationsFeatureGroupsOperationsWaitCall {
	c := &ProjectsLocationsFeatureGroupsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsFeatureGroupsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsFeatureGroupsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureGroupsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureGroupsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureGroupsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureGroupsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureGroupsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureGroupsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureGroups.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureGroupsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureGroups.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresCreateCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1featureonlinestore *GoogleCloudAiplatformV1FeatureOnlineStore
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Create: Creates a new FeatureOnlineStore in a given project and location.
//
//   - parent: The resource name of the Location to create FeatureOnlineStores.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsFeatureOnlineStoresService) Create(parent string, googlecloudaiplatformv1featureonlinestore *GoogleCloudAiplatformV1FeatureOnlineStore) *ProjectsLocationsFeatureOnlineStoresCreateCall {
	c := &ProjectsLocationsFeatureOnlineStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1featureonlinestore = googlecloudaiplatformv1featureonlinestore
	return c
}

// FeatureOnlineStoreId sets the optional parameter "featureOnlineStoreId":
// 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.
func (c *ProjectsLocationsFeatureOnlineStoresCreateCall) FeatureOnlineStoreId(featureOnlineStoreId string) *ProjectsLocationsFeatureOnlineStoresCreateCall {
	c.urlParams_.Set("featureOnlineStoreId", featureOnlineStoreId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featureonlinestore)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featureOnlineStores")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not
// contain any FeatureViews.
//
//   - name: The name of the FeatureOnlineStore to be deleted. Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}`.
func (r *ProjectsLocationsFeatureOnlineStoresService) Delete(name string) *ProjectsLocationsFeatureOnlineStoresDeleteCall {
	c := &ProjectsLocationsFeatureOnlineStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": 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.)
func (c *ProjectsLocationsFeatureOnlineStoresDeleteCall) Force(force bool) *ProjectsLocationsFeatureOnlineStoresDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single FeatureOnlineStore.
//
// - name: The name of the FeatureOnlineStore resource.
func (r *ProjectsLocationsFeatureOnlineStoresService) Get(name string) *ProjectsLocationsFeatureOnlineStoresGetCall {
	c := &ProjectsLocationsFeatureOnlineStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1FeatureOnlineStore.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1FeatureOnlineStore, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1FeatureOnlineStore{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeatureOnlineStoresService) GetIamPolicy(resource string) *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall {
	c := &ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureOnlineStoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists FeatureOnlineStores in a given project and location.
//
//   - parent: The resource name of the Location to list FeatureOnlineStores.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsFeatureOnlineStoresService) List(parent string) *ProjectsLocationsFeatureOnlineStoresListCall {
	c := &ProjectsLocationsFeatureOnlineStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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".
func (c *ProjectsLocationsFeatureOnlineStoresListCall) Filter(filter string) *ProjectsLocationsFeatureOnlineStoresListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeatureOnlineStoresListCall) OrderBy(orderBy string) *ProjectsLocationsFeatureOnlineStoresListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) PageSize(pageSize int64) *ProjectsLocationsFeatureOnlineStoresListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeatureOnlineStoreAdminService.ListFeatureOnlineStores call.
// Provide this to retrieve the subsequent page. When paginating, all other
// parameters provided to
// FeatureOnlineStoreAdminService.ListFeatureOnlineStores must match the call
// that provided the page token.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) PageToken(pageToken string) *ProjectsLocationsFeatureOnlineStoresListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featureOnlineStores")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureOnlineStoresListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureOnlineStoresPatchCall struct {
	s                                         *Service
	name                                      string
	googlecloudaiplatformv1featureonlinestore *GoogleCloudAiplatformV1FeatureOnlineStore
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Patch: Updates the parameters of a single FeatureOnlineStore.
//
//   - name: Identifier. Name of the FeatureOnlineStore. Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{featureOnline
//     Store}`.
func (r *ProjectsLocationsFeatureOnlineStoresService) Patch(name string, googlecloudaiplatformv1featureonlinestore *GoogleCloudAiplatformV1FeatureOnlineStore) *ProjectsLocationsFeatureOnlineStoresPatchCall {
	c := &ProjectsLocationsFeatureOnlineStoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1featureonlinestore = googlecloudaiplatformv1featureonlinestore
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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: * `labels` * `description` *
// `bigtable` * `bigtable.auto_scaling` *
// `bigtable.enable_multi_region_replica`
func (c *ProjectsLocationsFeatureOnlineStoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeatureOnlineStoresPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresPatchCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featureonlinestore)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeatureOnlineStoresService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall {
	c := &ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureOnlineStoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsFeatureOnlineStoresService) TestIamPermissions(resource string) *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall {
	c := &ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall struct {
	s                                  *Service
	parent                             string
	googlecloudaiplatformv1featureview *GoogleCloudAiplatformV1FeatureView
	urlParams_                         gensupport.URLParams
	ctx_                               context.Context
	header_                            http.Header
}

// Create: Creates a new FeatureView in a given FeatureOnlineStore.
//
//   - parent: The resource name of the FeatureOnlineStore to create
//     FeatureViews. Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) Create(parent string, googlecloudaiplatformv1featureview *GoogleCloudAiplatformV1FeatureView) *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1featureview = googlecloudaiplatformv1featureview
	return c
}

// FeatureViewId sets the optional parameter "featureViewId": 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.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall) FeatureViewId(featureViewId string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall {
	c.urlParams_.Set("featureViewId", featureViewId)
	return c
}

// RunSyncImmediately sets the optional parameter "runSyncImmediately":
// Immutable. If set to true, one on demand sync will be run immediately,
// regardless whether the FeatureView.sync_config is configured or not.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall) RunSyncImmediately(runSyncImmediately bool) *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall {
	c.urlParams_.Set("runSyncImmediately", fmt.Sprint(runSyncImmediately))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featureview)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featureViews")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single FeatureView.
//
//   - name: The name of the FeatureView to be deleted. Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}/featureViews/{feature_view}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) Delete(name string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall struct {
	s                                                    *Service
	featureView                                          string
	googlecloudaiplatformv1featureviewdirectwriterequest *GoogleCloudAiplatformV1FeatureViewDirectWriteRequest
	urlParams_                                           gensupport.URLParams
	ctx_                                                 context.Context
	header_                                              http.Header
}

// DirectWrite: Bidirectional streaming RPC to directly write to feature values
// in a feature view. Requests may not have a one-to-one mapping to responses
// and responses may be returned out-of-order to reduce latency.
//
//   - featureView: FeatureView resource format
//     `projects/{project}/locations/{location}/featureOnlineStores/{featureOnline
//     Store}/featureViews/{featureView}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) DirectWrite(featureView string, googlecloudaiplatformv1featureviewdirectwriterequest *GoogleCloudAiplatformV1FeatureViewDirectWriteRequest) *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.featureView = featureView
	c.googlecloudaiplatformv1featureviewdirectwriterequest = googlecloudaiplatformv1featureviewdirectwriterequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featureviewdirectwriterequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+featureView}:directWrite")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"featureView": c.featureView,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.directWrite", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.directWrite" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsDirectWriteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1FeatureViewDirectWriteResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1FeatureViewDirectWriteResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.directWrite", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall struct {
	s                                                *Service
	featureView                                      string
	googlecloudaiplatformv1fetchfeaturevaluesrequest *GoogleCloudAiplatformV1FetchFeatureValuesRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// FetchFeatureValues: Fetch feature values under a FeatureView.
//
//   - featureView: FeatureView resource format
//     `projects/{project}/locations/{location}/featureOnlineStores/{featureOnline
//     Store}/featureViews/{featureView}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) FetchFeatureValues(featureView string, googlecloudaiplatformv1fetchfeaturevaluesrequest *GoogleCloudAiplatformV1FetchFeatureValuesRequest) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.featureView = featureView
	c.googlecloudaiplatformv1fetchfeaturevaluesrequest = googlecloudaiplatformv1fetchfeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1fetchfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+featureView}:fetchFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"featureView": c.featureView,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1FetchFeatureValuesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1FetchFeatureValuesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1FetchFeatureValuesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall struct {
	s                                                      *Service
	featureView                                            string
	googlecloudaiplatformv1generatefetchaccesstokenrequest *GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest
	urlParams_                                             gensupport.URLParams
	ctx_                                                   context.Context
	header_                                                http.Header
}

// GenerateFetchAccessToken: RPC to generate an access token for the given
// feature view. FeatureViews under the same FeatureOnlineStore share the same
// access token.
//
//   - featureView: FeatureView resource format
//     `projects/{project}/locations/{location}/featureOnlineStores/{featureOnline
//     Store}/featureViews/{featureView}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) GenerateFetchAccessToken(featureView string, googlecloudaiplatformv1generatefetchaccesstokenrequest *GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.featureView = featureView
	c.googlecloudaiplatformv1generatefetchaccesstokenrequest = googlecloudaiplatformv1generatefetchaccesstokenrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatefetchaccesstokenrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+featureView}:generateFetchAccessToken")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"featureView": c.featureView,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.generateFetchAccessToken", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.generateFetchAccessToken" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse.ServerResponse.Heade
// r or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.generateFetchAccessToken", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single FeatureView.
//
//   - name: The name of the FeatureView resource. Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}/featureViews/{feature_view}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) Get(name string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1FeatureView.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1FeatureView, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1FeatureView{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) GetIamPolicy(resource string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists FeatureViews in a given FeatureOnlineStore.
//
//   - parent: The resource name of the FeatureOnlineStore to list FeatureViews.
//     Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) List(parent string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) Filter(filter string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) OrderBy(orderBy string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) PageSize(pageSize int64) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeatureOnlineStoreAdminService.ListFeatureViews call.
// Provide this to retrieve the subsequent page. When paginating, all other
// parameters provided to FeatureOnlineStoreAdminService.ListFeatureViews must
// match the call that provided the page token.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) PageToken(pageToken string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featureViews")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListFeatureViewsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListFeatureViewsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListFeatureViewsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListFeatureViewsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall struct {
	s                                  *Service
	name                               string
	googlecloudaiplatformv1featureview *GoogleCloudAiplatformV1FeatureView
	urlParams_                         gensupport.URLParams
	ctx_                               context.Context
	header_                            http.Header
}

// Patch: Updates the parameters of a single FeatureView.
//
//   - name: Identifier. Name of the FeatureView. Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}/featureViews/{feature_view}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) Patch(name string, googlecloudaiplatformv1featureview *GoogleCloudAiplatformV1FeatureView) *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1featureview = googlecloudaiplatformv1featureview
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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` * `service_agent_type` *
// `big_query_source` * `big_query_source.uri` *
// `big_query_source.entity_id_columns` * `feature_registry_source` *
// `feature_registry_source.feature_groups` * `sync_config` *
// `sync_config.cron` * `optimized_config.automatic_resources`
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featureview)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall struct {
	s                                                   *Service
	featureView                                         string
	googlecloudaiplatformv1searchnearestentitiesrequest *GoogleCloudAiplatformV1SearchNearestEntitiesRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// SearchNearestEntities: 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.
//
//   - featureView: FeatureView resource format
//     `projects/{project}/locations/{location}/featureOnlineStores/{featureOnline
//     Store}/featureViews/{featureView}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) SearchNearestEntities(featureView string, googlecloudaiplatformv1searchnearestentitiesrequest *GoogleCloudAiplatformV1SearchNearestEntitiesRequest) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.featureView = featureView
	c.googlecloudaiplatformv1searchnearestentitiesrequest = googlecloudaiplatformv1searchnearestentitiesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1searchnearestentitiesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+featureView}:searchNearestEntities")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"featureView": c.featureView,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SearchNearestEntitiesResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SearchNearestEntitiesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SearchNearestEntitiesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall struct {
	s                                             *Service
	featureView                                   string
	googlecloudaiplatformv1syncfeatureviewrequest *GoogleCloudAiplatformV1SyncFeatureViewRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// Sync: Triggers on-demand sync for the FeatureView.
//
//   - featureView: Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}/featureViews/{feature_view}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) Sync(featureView string, googlecloudaiplatformv1syncfeatureviewrequest *GoogleCloudAiplatformV1SyncFeatureViewRequest) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.featureView = featureView
	c.googlecloudaiplatformv1syncfeatureviewrequest = googlecloudaiplatformv1syncfeatureviewrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1syncfeatureviewrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+featureView}:sync")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"featureView": c.featureView,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.sync", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.sync" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SyncFeatureViewResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsSyncCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SyncFeatureViewResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SyncFeatureViewResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.sync", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsService) TestIamPermissions(resource string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single FeatureViewSync.
//
//   - name: The name of the FeatureViewSync resource. Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService) Get(name string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1FeatureViewSync.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1FeatureViewSync, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1FeatureViewSync{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists FeatureViewSyncs in a given FeatureView.
//
//   - parent: The resource name of the FeatureView to list FeatureViewSyncs.
//     Format:
//     `projects/{project}/locations/{location}/featureOnlineStores/{feature_onlin
//     e_store}/featureViews/{feature_view}`.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsService) List(parent string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) Filter(filter string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) OrderBy(orderBy string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) PageSize(pageSize int64) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeatureOnlineStoreAdminService.ListFeatureViewSyncs call.
// Provide this to retrieve the subsequent page. When paginating, all other
// parameters provided to FeatureOnlineStoreAdminService.ListFeatureViewSyncs
// must match the call that provided the page token.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) PageToken(pageToken string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featureViewSyncs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListFeatureViewSyncsResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListFeatureViewSyncsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListFeatureViewSyncsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListFeatureViewSyncsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService) Delete(name string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService) Get(name string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService) ListWait(name string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) Filter(filter string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) PageSize(pageSize int64) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) PageToken(pageToken string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsService) Wait(name string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c := &ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresFeatureViewsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsFeatureOnlineStoresOperationsService) Delete(name string) *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall {
	c := &ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsFeatureOnlineStoresOperationsService) Get(name string) *ProjectsLocationsFeatureOnlineStoresOperationsGetCall {
	c := &ProjectsLocationsFeatureOnlineStoresOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListWait: Lists operations that match the specified filter in the request.
// If the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsFeatureOnlineStoresOperationsService) ListWait(name string) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c := &ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) Filter(filter string) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) PageSize(pageSize int64) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) PageToken(pageToken string) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.listWait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.operations.listWait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.listWait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsListWaitCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeatureOnlineStoresOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsFeatureOnlineStoresOperationsService) Wait(name string) *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall {
	c := &ProjectsLocationsFeatureOnlineStoresOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featureOnlineStores.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeatureOnlineStoresOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featureOnlineStores.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall struct {
	s                                                    *Service
	featurestore                                         string
	googlecloudaiplatformv1batchreadfeaturevaluesrequest *GoogleCloudAiplatformV1BatchReadFeatureValuesRequest
	urlParams_                                           gensupport.URLParams
	ctx_                                                 context.Context
	header_                                              http.Header
}

// BatchReadFeatureValues: 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.
//
//   - featurestore: The resource name of the Featurestore from which to query
//     Feature values. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}`.
func (r *ProjectsLocationsFeaturestoresService) BatchReadFeatureValues(featurestore string, googlecloudaiplatformv1batchreadfeaturevaluesrequest *GoogleCloudAiplatformV1BatchReadFeatureValuesRequest) *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall {
	c := &ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.featurestore = featurestore
	c.googlecloudaiplatformv1batchreadfeaturevaluesrequest = googlecloudaiplatformv1batchreadfeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchreadfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+featurestore}:batchReadFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"featurestore": c.featurestore,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.batchReadFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.batchReadFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.batchReadFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresCreateCall struct {
	s                                   *Service
	parent                              string
	googlecloudaiplatformv1featurestore *GoogleCloudAiplatformV1Featurestore
	urlParams_                          gensupport.URLParams
	ctx_                                context.Context
	header_                             http.Header
}

// Create: Creates a new Featurestore in a given project and location.
//
//   - parent: The resource name of the Location to create Featurestores. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsFeaturestoresService) Create(parent string, googlecloudaiplatformv1featurestore *GoogleCloudAiplatformV1Featurestore) *ProjectsLocationsFeaturestoresCreateCall {
	c := &ProjectsLocationsFeaturestoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1featurestore = googlecloudaiplatformv1featurestore
	return c
}

// FeaturestoreId sets the optional parameter "featurestoreId": 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.
func (c *ProjectsLocationsFeaturestoresCreateCall) FeaturestoreId(featurestoreId string) *ProjectsLocationsFeaturestoresCreateCall {
	c.urlParams_.Set("featurestoreId", featurestoreId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featurestore)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featurestores")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single Featurestore. The Featurestore must not contain any
// EntityTypes or `force` must be set to true for the request to succeed.
//
//   - name: The name of the Featurestore to be deleted. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}`.
func (r *ProjectsLocationsFeaturestoresService) Delete(name string) *ProjectsLocationsFeaturestoresDeleteCall {
	c := &ProjectsLocationsFeaturestoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": 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.)
func (c *ProjectsLocationsFeaturestoresDeleteCall) Force(force bool) *ProjectsLocationsFeaturestoresDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single Featurestore.
//
// - name: The name of the Featurestore resource.
func (r *ProjectsLocationsFeaturestoresService) Get(name string) *ProjectsLocationsFeaturestoresGetCall {
	c := &ProjectsLocationsFeaturestoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Featurestore.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Featurestore, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Featurestore{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeaturestoresService) GetIamPolicy(resource string) *ProjectsLocationsFeaturestoresGetIamPolicyCall {
	c := &ProjectsLocationsFeaturestoresGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsFeaturestoresGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeaturestoresGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Featurestores in a given project and location.
//
//   - parent: The resource name of the Location to list Featurestores. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsFeaturestoresService) List(parent string) *ProjectsLocationsFeaturestoresListCall {
	c := &ProjectsLocationsFeaturestoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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".
func (c *ProjectsLocationsFeaturestoresListCall) Filter(filter string) *ProjectsLocationsFeaturestoresListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeaturestoresListCall) OrderBy(orderBy string) *ProjectsLocationsFeaturestoresListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeaturestoresListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturestoresListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeaturestoreService.ListFeaturestores call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters provided
// to FeaturestoreService.ListFeaturestores must match the call that provided
// the page token.
func (c *ProjectsLocationsFeaturestoresListCall) PageToken(pageToken string) *ProjectsLocationsFeaturestoresListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsFeaturestoresListCall) ReadMask(readMask string) *ProjectsLocationsFeaturestoresListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/featurestores")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListFeaturestoresResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListFeaturestoresResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListFeaturestoresResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeaturestoresListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListFeaturestoresResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeaturestoresPatchCall struct {
	s                                   *Service
	name                                string
	googlecloudaiplatformv1featurestore *GoogleCloudAiplatformV1Featurestore
	urlParams_                          gensupport.URLParams
	ctx_                                context.Context
	header_                             http.Header
}

// Patch: Updates the parameters of a single Featurestore.
//
//   - name: Output only. Name of the Featurestore. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}`.
func (r *ProjectsLocationsFeaturestoresService) Patch(name string, googlecloudaiplatformv1featurestore *GoogleCloudAiplatformV1Featurestore) *ProjectsLocationsFeaturestoresPatchCall {
	c := &ProjectsLocationsFeaturestoresPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1featurestore = googlecloudaiplatformv1featurestore
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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`
func (c *ProjectsLocationsFeaturestoresPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeaturestoresPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1featurestore)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresSearchFeaturesCall struct {
	s            *Service
	location     string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// SearchFeatures: Searches Features matching a query in a given project.
//
//   - location: The resource name of the Location to search Features. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsFeaturestoresService) SearchFeatures(location string) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c := &ProjectsLocationsFeaturestoresSearchFeaturesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.location = location
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) PageSize(pageSize int64) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeaturestoreService.SearchFeatures call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters provided
// to FeaturestoreService.SearchFeatures, except `page_size`, must match the
// call that provided the page token.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) PageToken(pageToken string) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Query sets the optional parameter "query": 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.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Query(query string) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.urlParams_.Set("query", query)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+location}/featurestores:searchFeatures")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"location": c.location,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.searchFeatures", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.searchFeatures" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SearchFeaturesResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SearchFeaturesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SearchFeaturesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.searchFeatures", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1SearchFeaturesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeaturestoresSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeaturestoresService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsFeaturestoresSetIamPolicyCall {
	c := &ProjectsLocationsFeaturestoresSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsFeaturestoresService) TestIamPermissions(resource string) *ProjectsLocationsFeaturestoresTestIamPermissionsCall {
	c := &ProjectsLocationsFeaturestoresTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsFeaturestoresTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsFeaturestoresTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesCreateCall struct {
	s                                 *Service
	parent                            string
	googlecloudaiplatformv1entitytype *GoogleCloudAiplatformV1EntityType
	urlParams_                        gensupport.URLParams
	ctx_                              context.Context
	header_                           http.Header
}

// Create: Creates a new EntityType in a given Featurestore.
//
//   - parent: The resource name of the Featurestore to create EntityTypes.
//     Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) Create(parent string, googlecloudaiplatformv1entitytype *GoogleCloudAiplatformV1EntityType) *ProjectsLocationsFeaturestoresEntityTypesCreateCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1entitytype = googlecloudaiplatformv1entitytype
	return c
}

// EntityTypeId sets the optional parameter "entityTypeId": 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.
func (c *ProjectsLocationsFeaturestoresEntityTypesCreateCall) EntityTypeId(entityTypeId string) *ProjectsLocationsFeaturestoresEntityTypesCreateCall {
	c.urlParams_.Set("entityTypeId", entityTypeId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1entitytype)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/entityTypes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single EntityType. The EntityType must not have any
// Features or `force` must be set to true for the request to succeed.
//
//   - name: The name of the EntityType to be deleted. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) Delete(name string) *ProjectsLocationsFeaturestoresEntityTypesDeleteCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": 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.)
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteCall) Force(force bool) *ProjectsLocationsFeaturestoresEntityTypesDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall struct {
	s                                                 *Service
	entityType                                        string
	googlecloudaiplatformv1deletefeaturevaluesrequest *GoogleCloudAiplatformV1DeleteFeatureValuesRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// DeleteFeatureValues: 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.
//
//   - entityType: The resource name of the EntityType grouping the Features for
//     which values are being deleted from. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entityType}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) DeleteFeatureValues(entityType string, googlecloudaiplatformv1deletefeaturevaluesrequest *GoogleCloudAiplatformV1DeleteFeatureValuesRequest) *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.entityType = entityType
	c.googlecloudaiplatformv1deletefeaturevaluesrequest = googlecloudaiplatformv1deletefeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1deletefeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+entityType}:deleteFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"entityType": c.entityType,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall struct {
	s                                                 *Service
	entityType                                        string
	googlecloudaiplatformv1exportfeaturevaluesrequest *GoogleCloudAiplatformV1ExportFeatureValuesRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// ExportFeatureValues: Exports Feature values from all the entities of a
// target EntityType.
//
//   - entityType: The resource name of the EntityType from which to export
//     Feature values. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) ExportFeatureValues(entityType string, googlecloudaiplatformv1exportfeaturevaluesrequest *GoogleCloudAiplatformV1ExportFeatureValuesRequest) *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.entityType = entityType
	c.googlecloudaiplatformv1exportfeaturevaluesrequest = googlecloudaiplatformv1exportfeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1exportfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+entityType}:exportFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"entityType": c.entityType,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single EntityType.
//
//   - name: The name of the EntityType resource. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) Get(name string) *ProjectsLocationsFeaturestoresEntityTypesGetCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EntityType.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EntityType, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EntityType{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) GetIamPolicy(resource string) *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall struct {
	s                                                 *Service
	entityType                                        string
	googlecloudaiplatformv1importfeaturevaluesrequest *GoogleCloudAiplatformV1ImportFeatureValuesRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// ImportFeatureValues: 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.
//
//   - entityType: The resource name of the EntityType grouping the Features for
//     which values are being imported. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entityType}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) ImportFeatureValues(entityType string, googlecloudaiplatformv1importfeaturevaluesrequest *GoogleCloudAiplatformV1ImportFeatureValuesRequest) *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.entityType = entityType
	c.googlecloudaiplatformv1importfeaturevaluesrequest = googlecloudaiplatformv1importfeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1importfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+entityType}:importFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"entityType": c.entityType,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists EntityTypes in a given Featurestore.
//
//   - parent: The resource name of the Featurestore to list EntityTypes. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) List(parent string) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Filter(filter string) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) OrderBy(orderBy string) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeaturestoreService.ListEntityTypes call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters provided
// to FeaturestoreService.ListEntityTypes must match the call that provided the
// page token.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) ReadMask(readMask string) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/entityTypes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListEntityTypesResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListEntityTypesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListEntityTypesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListEntityTypesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeaturestoresEntityTypesPatchCall struct {
	s                                 *Service
	name                              string
	googlecloudaiplatformv1entitytype *GoogleCloudAiplatformV1EntityType
	urlParams_                        gensupport.URLParams
	ctx_                              context.Context
	header_                           http.Header
}

// Patch: Updates the parameters of a single EntityType.
//
//   - name: Immutable. Name of the EntityType. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{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.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) Patch(name string, googlecloudaiplatformv1entitytype *GoogleCloudAiplatformV1EntityType) *ProjectsLocationsFeaturestoresEntityTypesPatchCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1entitytype = googlecloudaiplatformv1entitytype
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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`
func (c *ProjectsLocationsFeaturestoresEntityTypesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeaturestoresEntityTypesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1entitytype)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EntityType.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EntityType, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EntityType{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall struct {
	s                                               *Service
	entityType                                      string
	googlecloudaiplatformv1readfeaturevaluesrequest *GoogleCloudAiplatformV1ReadFeatureValuesRequest
	urlParams_                                      gensupport.URLParams
	ctx_                                            context.Context
	header_                                         http.Header
}

// ReadFeatureValues: Reads Feature values of a specific entity of an
// EntityType. For reading feature values of multiple entities of an
// EntityType, please use StreamingReadFeatureValues.
//
//   - entityType: The resource name of the EntityType for the entity being read.
//     Value format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entityType}`. For example, for a machine learning model predicting
//     user clicks on a website, an EntityType ID could be `user`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) ReadFeatureValues(entityType string, googlecloudaiplatformv1readfeaturevaluesrequest *GoogleCloudAiplatformV1ReadFeatureValuesRequest) *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.entityType = entityType
	c.googlecloudaiplatformv1readfeaturevaluesrequest = googlecloudaiplatformv1readfeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1readfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+entityType}:readFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"entityType": c.entityType,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReadFeatureValuesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReadFeatureValuesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReadFeatureValuesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall struct {
	s                                                        *Service
	entityType                                               string
	googlecloudaiplatformv1streamingreadfeaturevaluesrequest *GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest
	urlParams_                                               gensupport.URLParams
	ctx_                                                     context.Context
	header_                                                  http.Header
}

// StreamingReadFeatureValues: Reads Feature values for multiple entities.
// Depending on their size, data for different entities may be broken up across
// multiple responses.
//
//   - entityType: The resource name of the entities' type. Value format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entityType}`. For example, for a machine learning model predicting
//     user clicks on a website, an EntityType ID could be `user`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) StreamingReadFeatureValues(entityType string, googlecloudaiplatformv1streamingreadfeaturevaluesrequest *GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest) *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.entityType = entityType
	c.googlecloudaiplatformv1streamingreadfeaturevaluesrequest = googlecloudaiplatformv1streamingreadfeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamingreadfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+entityType}:streamingReadFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"entityType": c.entityType,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReadFeatureValuesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReadFeatureValuesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReadFeatureValuesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) TestIamPermissions(resource string) *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall struct {
	s                                                *Service
	entityType                                       string
	googlecloudaiplatformv1writefeaturevaluesrequest *GoogleCloudAiplatformV1WriteFeatureValuesRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// WriteFeatureValues: 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.
//
//   - entityType: 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`.
func (r *ProjectsLocationsFeaturestoresEntityTypesService) WriteFeatureValues(entityType string, googlecloudaiplatformv1writefeaturevaluesrequest *GoogleCloudAiplatformV1WriteFeatureValuesRequest) *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.entityType = entityType
	c.googlecloudaiplatformv1writefeaturevaluesrequest = googlecloudaiplatformv1writefeaturevaluesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1writefeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+entityType}:writeFeatureValues")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"entityType": c.entityType,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1WriteFeatureValuesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1WriteFeatureValuesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1WriteFeatureValuesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall struct {
	s                                                 *Service
	parent                                            string
	googlecloudaiplatformv1batchcreatefeaturesrequest *GoogleCloudAiplatformV1BatchCreateFeaturesRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// BatchCreate: Creates a batch of Features in a given EntityType.
//
//   - parent: The resource name of the EntityType/FeatureGroup to create the
//     batch of Features under. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesService) BatchCreate(parent string, googlecloudaiplatformv1batchcreatefeaturesrequest *GoogleCloudAiplatformV1BatchCreateFeaturesRequest) *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchcreatefeaturesrequest = googlecloudaiplatformv1batchcreatefeaturesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchcreatefeaturesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features:batchCreate")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall struct {
	s                              *Service
	parent                         string
	googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Create: Creates a new Feature in a given EntityType.
//
//   - parent: The resource name of the EntityType or FeatureGroup to create a
//     Feature. Format for entity_type as parent:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}` Format for feature_group as parent:
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesService) Create(parent string, googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature) *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1feature = googlecloudaiplatformv1feature
	return c
}

// FeatureId sets the optional parameter "featureId": 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.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall) FeatureId(featureId string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall {
	c.urlParams_.Set("featureId", featureId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1feature)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single Feature.
//
//   - name: The name of the Features to be deleted. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}/features/{feature}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}/feat
//     ures/{feature}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesService) Delete(name string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single Feature.
//
//   - name: The name of the Feature resource. Format for entity_type as parent:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}` Format for feature_group as parent:
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesService) Get(name string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Feature.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Feature, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Feature{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Features in a given EntityType.
//
//   - parent: The resource name of the Location to list Features. Format for
//     entity_type as parent:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}` Format for feature_group as parent:
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}`.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesService) List(parent string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Filter(filter string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// LatestStatsCount sets the optional parameter "latestStatsCount": Only
// applicable for Vertex AI Feature Store (Legacy). If set, return the most
// recent 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, return all existing stats.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) LatestStatsCount(latestStatsCount int64) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("latestStatsCount", fmt.Sprint(latestStatsCount))
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) OrderBy(orderBy string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous FeaturestoreService.ListFeatures call or
// FeatureRegistryService.ListFeatures call. Provide this to retrieve the
// subsequent page. When paginating, all other parameters provided to
// FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must
// match the call that provided the page token.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) PageToken(pageToken string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) ReadMask(readMask string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListFeaturesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListFeaturesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListFeaturesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListFeaturesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall struct {
	s                              *Service
	name                           string
	googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Patch: Updates the parameters of a single Feature.
//
//   - name: Immutable. Name of the Feature. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}/features/{feature}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_group}/feat
//     ures/{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.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesService) Patch(name string, googlecloudaiplatformv1feature *GoogleCloudAiplatformV1Feature) *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1feature = googlecloudaiplatformv1feature
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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 FeatureRegistryService Feature) * `point_of_contact` (Not
// supported for FeaturestoreService FeatureStore)
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1feature)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Feature.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Feature, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Feature{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService) Cancel(name string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService) Delete(name string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService) Get(name string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService) List(name string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Filter(filter string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsService) Wait(name string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsFeaturestoresEntityTypesOperationsService) Cancel(name string) *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsFeaturestoresEntityTypesOperationsService) Delete(name string) *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsFeaturestoresEntityTypesOperationsService) Get(name string) *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresEntityTypesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsFeaturestoresEntityTypesOperationsService) List(name string) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Filter(filter string) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsFeaturestoresEntityTypesOperationsService) Wait(name string) *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall {
	c := &ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.entityTypes.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.entityTypes.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsFeaturestoresOperationsService) Cancel(name string) *ProjectsLocationsFeaturestoresOperationsCancelCall {
	c := &ProjectsLocationsFeaturestoresOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsFeaturestoresOperationsService) Delete(name string) *ProjectsLocationsFeaturestoresOperationsDeleteCall {
	c := &ProjectsLocationsFeaturestoresOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsFeaturestoresOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsFeaturestoresOperationsService) Get(name string) *ProjectsLocationsFeaturestoresOperationsGetCall {
	c := &ProjectsLocationsFeaturestoresOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsFeaturestoresOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsFeaturestoresOperationsService) List(name string) *ProjectsLocationsFeaturestoresOperationsListCall {
	c := &ProjectsLocationsFeaturestoresOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Filter(filter string) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) PageToken(pageToken string) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsFeaturestoresOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsFeaturestoresOperationsService) Wait(name string) *ProjectsLocationsFeaturestoresOperationsWaitCall {
	c := &ProjectsLocationsFeaturestoresOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsFeaturestoresOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsFeaturestoresOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsFeaturestoresOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsFeaturestoresOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsFeaturestoresOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsFeaturestoresOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.featurestores.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsFeaturestoresOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.featurestores.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsCancelCall struct {
	s                                                           *Service
	name                                                        string
	googlecloudaiplatformv1cancelhyperparametertuningjobrequest *GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest
	urlParams_                                                  gensupport.URLParams
	ctx_                                                        context.Context
	header_                                                     http.Header
}

// Cancel: 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 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 value with a
// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and
// HyperparameterTuningJob.state is set to `CANCELLED`.
//
//   - name: The name of the HyperparameterTuningJob to cancel. Format:
//     `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperpar
//     ameter_tuning_job}`.
func (r *ProjectsLocationsHyperparameterTuningJobsService) Cancel(name string, googlecloudaiplatformv1cancelhyperparametertuningjobrequest *GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest) *ProjectsLocationsHyperparameterTuningJobsCancelCall {
	c := &ProjectsLocationsHyperparameterTuningJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cancelhyperparametertuningjobrequest = googlecloudaiplatformv1cancelhyperparametertuningjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cancelhyperparametertuningjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsHyperparameterTuningJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsCreateCall struct {
	s                                              *Service
	parent                                         string
	googlecloudaiplatformv1hyperparametertuningjob *GoogleCloudAiplatformV1HyperparameterTuningJob
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// Create: Creates a HyperparameterTuningJob
//
//   - parent: The resource name of the Location to create the
//     HyperparameterTuningJob in. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsHyperparameterTuningJobsService) Create(parent string, googlecloudaiplatformv1hyperparametertuningjob *GoogleCloudAiplatformV1HyperparameterTuningJob) *ProjectsLocationsHyperparameterTuningJobsCreateCall {
	c := &ProjectsLocationsHyperparameterTuningJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1hyperparametertuningjob = googlecloudaiplatformv1hyperparametertuningjob
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1hyperparametertuningjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/hyperparameterTuningJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1HyperparameterTuningJob.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsHyperparameterTuningJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1HyperparameterTuningJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1HyperparameterTuningJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a HyperparameterTuningJob.
//
//   - name: The name of the HyperparameterTuningJob resource to be deleted.
//     Format:
//     `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperpar
//     ameter_tuning_job}`.
func (r *ProjectsLocationsHyperparameterTuningJobsService) Delete(name string) *ProjectsLocationsHyperparameterTuningJobsDeleteCall {
	c := &ProjectsLocationsHyperparameterTuningJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsHyperparameterTuningJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a HyperparameterTuningJob
//
//   - name: The name of the HyperparameterTuningJob resource. Format:
//     `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperpar
//     ameter_tuning_job}`.
func (r *ProjectsLocationsHyperparameterTuningJobsService) Get(name string) *ProjectsLocationsHyperparameterTuningJobsGetCall {
	c := &ProjectsLocationsHyperparameterTuningJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsHyperparameterTuningJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1HyperparameterTuningJob.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1HyperparameterTuningJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1HyperparameterTuningJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists HyperparameterTuningJobs in a Location.
//
//   - parent: The resource name of the Location to list the
//     HyperparameterTuningJobs from. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsHyperparameterTuningJobsService) List(parent string) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c := &ProjectsLocationsHyperparameterTuningJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Filter(filter string) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) PageSize(pageSize int64) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via
// ListHyperparameterTuningJobsResponse.next_page_token of the previous
// JobService.ListHyperparameterTuningJobs call.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) PageToken(pageToken string) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) ReadMask(readMask string) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/hyperparameterTuningJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse.ServerResponse.H
// eader or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsHyperparameterTuningJobsOperationsService) Cancel(name string) *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall {
	c := &ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsHyperparameterTuningJobsOperationsService) Delete(name string) *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall {
	c := &ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsHyperparameterTuningJobsOperationsService) Get(name string) *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall {
	c := &ProjectsLocationsHyperparameterTuningJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsHyperparameterTuningJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsHyperparameterTuningJobsOperationsService) List(name string) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c := &ProjectsLocationsHyperparameterTuningJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Filter(filter string) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsHyperparameterTuningJobsOperationsService) Wait(name string) *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall {
	c := &ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsCreateCall struct {
	s                                    *Service
	parent                               string
	googlecloudaiplatformv1indexendpoint *GoogleCloudAiplatformV1IndexEndpoint
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Create: Creates an IndexEndpoint.
//
//   - parent: The resource name of the Location to create the IndexEndpoint in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsIndexEndpointsService) Create(parent string, googlecloudaiplatformv1indexendpoint *GoogleCloudAiplatformV1IndexEndpoint) *ProjectsLocationsIndexEndpointsCreateCall {
	c := &ProjectsLocationsIndexEndpointsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1indexendpoint = googlecloudaiplatformv1indexendpoint
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsCreateCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1indexendpoint)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/indexEndpoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an IndexEndpoint.
//
//   - name: The name of the IndexEndpoint resource to be deleted. Format:
//     `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`.
func (r *ProjectsLocationsIndexEndpointsService) Delete(name string) *ProjectsLocationsIndexEndpointsDeleteCall {
	c := &ProjectsLocationsIndexEndpointsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsDeployIndexCall struct {
	s                                         *Service
	indexEndpoint                             string
	googlecloudaiplatformv1deployindexrequest *GoogleCloudAiplatformV1DeployIndexRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// DeployIndex: Deploys an Index into this IndexEndpoint, creating a
// DeployedIndex within it.
//
//   - indexEndpoint: The name of the IndexEndpoint resource into which to deploy
//     an Index. Format:
//     `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`.
func (r *ProjectsLocationsIndexEndpointsService) DeployIndex(indexEndpoint string, googlecloudaiplatformv1deployindexrequest *GoogleCloudAiplatformV1DeployIndexRequest) *ProjectsLocationsIndexEndpointsDeployIndexCall {
	c := &ProjectsLocationsIndexEndpointsDeployIndexCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.indexEndpoint = indexEndpoint
	c.googlecloudaiplatformv1deployindexrequest = googlecloudaiplatformv1deployindexrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsDeployIndexCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsDeployIndexCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsDeployIndexCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsDeployIndexCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsDeployIndexCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsDeployIndexCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1deployindexrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+indexEndpoint}:deployIndex")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"indexEndpoint": c.indexEndpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.deployIndex", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.deployIndex" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsDeployIndexCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.deployIndex", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsFindNeighborsCall struct {
	s                                           *Service
	indexEndpoint                               string
	googlecloudaiplatformv1findneighborsrequest *GoogleCloudAiplatformV1FindNeighborsRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// FindNeighbors: Finds the nearest neighbors of each vector within the
// request.
//
//   - indexEndpoint: The name of the index endpoint. Format:
//     `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`.
func (r *ProjectsLocationsIndexEndpointsService) FindNeighbors(indexEndpoint string, googlecloudaiplatformv1findneighborsrequest *GoogleCloudAiplatformV1FindNeighborsRequest) *ProjectsLocationsIndexEndpointsFindNeighborsCall {
	c := &ProjectsLocationsIndexEndpointsFindNeighborsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.indexEndpoint = indexEndpoint
	c.googlecloudaiplatformv1findneighborsrequest = googlecloudaiplatformv1findneighborsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsFindNeighborsCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsFindNeighborsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsFindNeighborsCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsFindNeighborsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsFindNeighborsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsFindNeighborsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1findneighborsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+indexEndpoint}:findNeighbors")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"indexEndpoint": c.indexEndpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.findNeighbors", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.findNeighbors" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1FindNeighborsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsFindNeighborsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1FindNeighborsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1FindNeighborsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.findNeighbors", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets an IndexEndpoint.
//
//   - name: The name of the IndexEndpoint resource. Format:
//     `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`.
func (r *ProjectsLocationsIndexEndpointsService) Get(name string) *ProjectsLocationsIndexEndpointsGetCall {
	c := &ProjectsLocationsIndexEndpointsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexEndpointsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexEndpointsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsGetCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1IndexEndpoint.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1IndexEndpoint, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1IndexEndpoint{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists IndexEndpoints in a Location.
//
//   - parent: The resource name of the Location from which to list the
//     IndexEndpoints. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsIndexEndpointsService) List(parent string) *ProjectsLocationsIndexEndpointsListCall {
	c := &ProjectsLocationsIndexEndpointsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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. * `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"
func (c *ProjectsLocationsIndexEndpointsListCall) Filter(filter string) *ProjectsLocationsIndexEndpointsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsIndexEndpointsListCall) PageSize(pageSize int64) *ProjectsLocationsIndexEndpointsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListIndexEndpointsResponse.next_page_token of
// the previous IndexEndpointService.ListIndexEndpoints call.
func (c *ProjectsLocationsIndexEndpointsListCall) PageToken(pageToken string) *ProjectsLocationsIndexEndpointsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsIndexEndpointsListCall) ReadMask(readMask string) *ProjectsLocationsIndexEndpointsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexEndpointsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexEndpointsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsListCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/indexEndpoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListIndexEndpointsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListIndexEndpointsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListIndexEndpointsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsIndexEndpointsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListIndexEndpointsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsIndexEndpointsMutateDeployedIndexCall struct {
	s                                    *Service
	indexEndpoint                        string
	googlecloudaiplatformv1deployedindex *GoogleCloudAiplatformV1DeployedIndex
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// MutateDeployedIndex: Update an existing DeployedIndex under an
// IndexEndpoint.
//
//   - indexEndpoint: The name of the IndexEndpoint resource into which to deploy
//     an Index. Format:
//     `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`.
func (r *ProjectsLocationsIndexEndpointsService) MutateDeployedIndex(indexEndpoint string, googlecloudaiplatformv1deployedindex *GoogleCloudAiplatformV1DeployedIndex) *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall {
	c := &ProjectsLocationsIndexEndpointsMutateDeployedIndexCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.indexEndpoint = indexEndpoint
	c.googlecloudaiplatformv1deployedindex = googlecloudaiplatformv1deployedindex
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1deployedindex)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+indexEndpoint}:mutateDeployedIndex")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"indexEndpoint": c.indexEndpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsPatchCall struct {
	s                                    *Service
	name                                 string
	googlecloudaiplatformv1indexendpoint *GoogleCloudAiplatformV1IndexEndpoint
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Patch: Updates an IndexEndpoint.
//
// - name: Output only. The resource name of the IndexEndpoint.
func (r *ProjectsLocationsIndexEndpointsService) Patch(name string, googlecloudaiplatformv1indexendpoint *GoogleCloudAiplatformV1IndexEndpoint) *ProjectsLocationsIndexEndpointsPatchCall {
	c := &ProjectsLocationsIndexEndpointsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1indexendpoint = googlecloudaiplatformv1indexendpoint
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. See google.protobuf.FieldMask.
func (c *ProjectsLocationsIndexEndpointsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsIndexEndpointsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsPatchCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1indexendpoint)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1IndexEndpoint.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1IndexEndpoint, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1IndexEndpoint{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsReadIndexDatapointsCall struct {
	s                                                 *Service
	indexEndpoint                                     string
	googlecloudaiplatformv1readindexdatapointsrequest *GoogleCloudAiplatformV1ReadIndexDatapointsRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// ReadIndexDatapoints: Reads the datapoints/vectors of the given IDs. A
// maximum of 1000 datapoints can be retrieved in a batch.
//
//   - indexEndpoint: The name of the index endpoint. Format:
//     `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`.
func (r *ProjectsLocationsIndexEndpointsService) ReadIndexDatapoints(indexEndpoint string, googlecloudaiplatformv1readindexdatapointsrequest *GoogleCloudAiplatformV1ReadIndexDatapointsRequest) *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall {
	c := &ProjectsLocationsIndexEndpointsReadIndexDatapointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.indexEndpoint = indexEndpoint
	c.googlecloudaiplatformv1readindexdatapointsrequest = googlecloudaiplatformv1readindexdatapointsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1readindexdatapointsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+indexEndpoint}:readIndexDatapoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"indexEndpoint": c.indexEndpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReadIndexDatapointsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReadIndexDatapointsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReadIndexDatapointsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsUndeployIndexCall struct {
	s                                           *Service
	indexEndpoint                               string
	googlecloudaiplatformv1undeployindexrequest *GoogleCloudAiplatformV1UndeployIndexRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// UndeployIndex: Undeploys an Index from an IndexEndpoint, removing a
// DeployedIndex from it, and freeing all resources it's using.
//
//   - indexEndpoint: The name of the IndexEndpoint resource from which to
//     undeploy an Index. Format:
//     `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`.
func (r *ProjectsLocationsIndexEndpointsService) UndeployIndex(indexEndpoint string, googlecloudaiplatformv1undeployindexrequest *GoogleCloudAiplatformV1UndeployIndexRequest) *ProjectsLocationsIndexEndpointsUndeployIndexCall {
	c := &ProjectsLocationsIndexEndpointsUndeployIndexCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.indexEndpoint = indexEndpoint
	c.googlecloudaiplatformv1undeployindexrequest = googlecloudaiplatformv1undeployindexrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsUndeployIndexCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsUndeployIndexCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsUndeployIndexCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsUndeployIndexCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsUndeployIndexCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsUndeployIndexCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1undeployindexrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+indexEndpoint}:undeployIndex")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"indexEndpoint": c.indexEndpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.undeployIndex", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.undeployIndex" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsUndeployIndexCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.undeployIndex", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsIndexEndpointsOperationsService) Cancel(name string) *ProjectsLocationsIndexEndpointsOperationsCancelCall {
	c := &ProjectsLocationsIndexEndpointsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsIndexEndpointsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsIndexEndpointsOperationsService) Delete(name string) *ProjectsLocationsIndexEndpointsOperationsDeleteCall {
	c := &ProjectsLocationsIndexEndpointsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsIndexEndpointsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsIndexEndpointsOperationsService) Get(name string) *ProjectsLocationsIndexEndpointsOperationsGetCall {
	c := &ProjectsLocationsIndexEndpointsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexEndpointsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexEndpointsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsIndexEndpointsOperationsService) List(name string) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c := &ProjectsLocationsIndexEndpointsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Filter(filter string) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsIndexEndpointsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsIndexEndpointsOperationsService) Wait(name string) *ProjectsLocationsIndexEndpointsOperationsWaitCall {
	c := &ProjectsLocationsIndexEndpointsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsIndexEndpointsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsIndexEndpointsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexEndpointsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexEndpointsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexEndpointsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexEndpointsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexEndpoints.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexEndpointsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexEndpoints.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesCreateCall struct {
	s                            *Service
	parent                       string
	googlecloudaiplatformv1index *GoogleCloudAiplatformV1Index
	urlParams_                   gensupport.URLParams
	ctx_                         context.Context
	header_                      http.Header
}

// Create: Creates an Index.
//
//   - parent: The resource name of the Location to create the Index in. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsIndexesService) Create(parent string, googlecloudaiplatformv1index *GoogleCloudAiplatformV1Index) *ProjectsLocationsIndexesCreateCall {
	c := &ProjectsLocationsIndexesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1index = googlecloudaiplatformv1index
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesCreateCall) Context(ctx context.Context) *ProjectsLocationsIndexesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1index)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/indexes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an Index. An Index can only be deleted when all its
// DeployedIndexes had been undeployed.
//
//   - name: The name of the Index resource to be deleted. Format:
//     `projects/{project}/locations/{location}/indexes/{index}`.
func (r *ProjectsLocationsIndexesService) Delete(name string) *ProjectsLocationsIndexesDeleteCall {
	c := &ProjectsLocationsIndexesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets an Index.
//
//   - name: The name of the Index resource. Format:
//     `projects/{project}/locations/{location}/indexes/{index}`.
func (r *ProjectsLocationsIndexesService) Get(name string) *ProjectsLocationsIndexesGetCall {
	c := &ProjectsLocationsIndexesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesGetCall) Context(ctx context.Context) *ProjectsLocationsIndexesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Index.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Index, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Index{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Indexes in a Location.
//
//   - parent: The resource name of the Location from which to list the Indexes.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsIndexesService) List(parent string) *ProjectsLocationsIndexesListCall {
	c := &ProjectsLocationsIndexesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsIndexesListCall) Filter(filter string) *ProjectsLocationsIndexesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsIndexesListCall) PageSize(pageSize int64) *ProjectsLocationsIndexesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListIndexesResponse.next_page_token of the
// previous IndexService.ListIndexes call.
func (c *ProjectsLocationsIndexesListCall) PageToken(pageToken string) *ProjectsLocationsIndexesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsIndexesListCall) ReadMask(readMask string) *ProjectsLocationsIndexesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesListCall) Context(ctx context.Context) *ProjectsLocationsIndexesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/indexes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListIndexesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListIndexesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListIndexesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsIndexesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListIndexesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsIndexesPatchCall struct {
	s                            *Service
	name                         string
	googlecloudaiplatformv1index *GoogleCloudAiplatformV1Index
	urlParams_                   gensupport.URLParams
	ctx_                         context.Context
	header_                      http.Header
}

// Patch: Updates an Index.
//
// - name: Output only. The resource name of the Index.
func (r *ProjectsLocationsIndexesService) Patch(name string, googlecloudaiplatformv1index *GoogleCloudAiplatformV1Index) *ProjectsLocationsIndexesPatchCall {
	c := &ProjectsLocationsIndexesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1index = googlecloudaiplatformv1index
	return c
}

// UpdateMask sets the optional parameter "updateMask": The update mask applies
// to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask.
func (c *ProjectsLocationsIndexesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsIndexesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesPatchCall) Context(ctx context.Context) *ProjectsLocationsIndexesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1index)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesRemoveDatapointsCall struct {
	s                                              *Service
	index                                          string
	googlecloudaiplatformv1removedatapointsrequest *GoogleCloudAiplatformV1RemoveDatapointsRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// RemoveDatapoints: Remove Datapoints from an Index.
//
//   - index: The name of the Index resource to be updated. Format:
//     `projects/{project}/locations/{location}/indexes/{index}`.
func (r *ProjectsLocationsIndexesService) RemoveDatapoints(index string, googlecloudaiplatformv1removedatapointsrequest *GoogleCloudAiplatformV1RemoveDatapointsRequest) *ProjectsLocationsIndexesRemoveDatapointsCall {
	c := &ProjectsLocationsIndexesRemoveDatapointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.index = index
	c.googlecloudaiplatformv1removedatapointsrequest = googlecloudaiplatformv1removedatapointsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesRemoveDatapointsCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesRemoveDatapointsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesRemoveDatapointsCall) Context(ctx context.Context) *ProjectsLocationsIndexesRemoveDatapointsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesRemoveDatapointsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesRemoveDatapointsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1removedatapointsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+index}:removeDatapoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"index": c.index,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.removeDatapoints", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.removeDatapoints" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1RemoveDatapointsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesRemoveDatapointsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1RemoveDatapointsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1RemoveDatapointsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.removeDatapoints", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesUpsertDatapointsCall struct {
	s                                              *Service
	index                                          string
	googlecloudaiplatformv1upsertdatapointsrequest *GoogleCloudAiplatformV1UpsertDatapointsRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// UpsertDatapoints: Add/update Datapoints into an Index.
//
//   - index: The name of the Index resource to be updated. Format:
//     `projects/{project}/locations/{location}/indexes/{index}`.
func (r *ProjectsLocationsIndexesService) UpsertDatapoints(index string, googlecloudaiplatformv1upsertdatapointsrequest *GoogleCloudAiplatformV1UpsertDatapointsRequest) *ProjectsLocationsIndexesUpsertDatapointsCall {
	c := &ProjectsLocationsIndexesUpsertDatapointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.index = index
	c.googlecloudaiplatformv1upsertdatapointsrequest = googlecloudaiplatformv1upsertdatapointsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesUpsertDatapointsCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesUpsertDatapointsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesUpsertDatapointsCall) Context(ctx context.Context) *ProjectsLocationsIndexesUpsertDatapointsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesUpsertDatapointsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesUpsertDatapointsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1upsertdatapointsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+index}:upsertDatapoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"index": c.index,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.upsertDatapoints", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.upsertDatapoints" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1UpsertDatapointsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesUpsertDatapointsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1UpsertDatapointsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1UpsertDatapointsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.upsertDatapoints", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsIndexesOperationsService) Cancel(name string) *ProjectsLocationsIndexesOperationsCancelCall {
	c := &ProjectsLocationsIndexesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsIndexesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsIndexesOperationsService) Delete(name string) *ProjectsLocationsIndexesOperationsDeleteCall {
	c := &ProjectsLocationsIndexesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsIndexesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsIndexesOperationsService) Get(name string) *ProjectsLocationsIndexesOperationsGetCall {
	c := &ProjectsLocationsIndexesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsIndexesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsIndexesOperationsService) List(name string) *ProjectsLocationsIndexesOperationsListCall {
	c := &ProjectsLocationsIndexesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsIndexesOperationsListCall) Filter(filter string) *ProjectsLocationsIndexesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsIndexesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsIndexesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsIndexesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsIndexesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsIndexesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsIndexesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsIndexesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsIndexesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsIndexesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsIndexesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsIndexesOperationsService) Wait(name string) *ProjectsLocationsIndexesOperationsWaitCall {
	c := &ProjectsLocationsIndexesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsIndexesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsIndexesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsIndexesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsIndexesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsIndexesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsIndexesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.indexes.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsIndexesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.indexes.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresCreateCall struct {
	s                                    *Service
	parent                               string
	googlecloudaiplatformv1metadatastore *GoogleCloudAiplatformV1MetadataStore
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Create: Initializes a MetadataStore, including allocation of resources.
//
//   - parent: The resource name of the Location where the MetadataStore should
//     be created. Format: `projects/{project}/locations/{location}/`.
func (r *ProjectsLocationsMetadataStoresService) Create(parent string, googlecloudaiplatformv1metadatastore *GoogleCloudAiplatformV1MetadataStore) *ProjectsLocationsMetadataStoresCreateCall {
	c := &ProjectsLocationsMetadataStoresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1metadatastore = googlecloudaiplatformv1metadatastore
	return c
}

// MetadataStoreId sets the optional parameter "metadataStoreId": 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-/`.
// 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.)
func (c *ProjectsLocationsMetadataStoresCreateCall) MetadataStoreId(metadataStoreId string) *ProjectsLocationsMetadataStoresCreateCall {
	c.urlParams_.Set("metadataStoreId", metadataStoreId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1metadatastore)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/metadataStores")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single MetadataStore and all its child resources
// (Artifacts, Executions, and Contexts).
//
//   - name: The resource name of the MetadataStore to delete. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresService) Delete(name string) *ProjectsLocationsMetadataStoresDeleteCall {
	c := &ProjectsLocationsMetadataStoresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": Deprecated: Field is no longer
// supported.
func (c *ProjectsLocationsMetadataStoresDeleteCall) Force(force bool) *ProjectsLocationsMetadataStoresDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Retrieves a specific MetadataStore.
//
//   - name: The resource name of the MetadataStore to retrieve. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresService) Get(name string) *ProjectsLocationsMetadataStoresGetCall {
	c := &ProjectsLocationsMetadataStoresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1MetadataStore.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1MetadataStore, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1MetadataStore{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists MetadataStores for a Location.
//
//   - parent: The Location whose MetadataStores should be listed. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsMetadataStoresService) List(parent string) *ProjectsLocationsMetadataStoresListCall {
	c := &ProjectsLocationsMetadataStoresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// Metadata Stores to return. The service may return fewer. Must be in range
// 1-100, inclusive. Defaults to 100.
func (c *ProjectsLocationsMetadataStoresListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous 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.)
func (c *ProjectsLocationsMetadataStoresListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/metadataStores")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListMetadataStoresResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListMetadataStoresResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListMetadataStoresResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListMetadataStoresResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresArtifactsCreateCall struct {
	s                               *Service
	parent                          string
	googlecloudaiplatformv1artifact *GoogleCloudAiplatformV1Artifact
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// Create: Creates an Artifact associated with a MetadataStore.
//
//   - parent: The resource name of the MetadataStore where the Artifact should
//     be created. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresArtifactsService) Create(parent string, googlecloudaiplatformv1artifact *GoogleCloudAiplatformV1Artifact) *ProjectsLocationsMetadataStoresArtifactsCreateCall {
	c := &ProjectsLocationsMetadataStoresArtifactsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1artifact = googlecloudaiplatformv1artifact
	return c
}

// ArtifactId sets the optional parameter "artifactId": The {artifact} portion
// of the resource name with the format:
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artif
// acts/{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-/`. 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.)
func (c *ProjectsLocationsMetadataStoresArtifactsCreateCall) ArtifactId(artifactId string) *ProjectsLocationsMetadataStoresArtifactsCreateCall {
	c.urlParams_.Set("artifactId", artifactId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1artifact)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/artifacts")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Artifact.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Artifact, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Artifact{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an Artifact.
//
//   - name: The resource name of the Artifact to delete. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/art
//     ifacts/{artifact}`.
func (r *ProjectsLocationsMetadataStoresArtifactsService) Delete(name string) *ProjectsLocationsMetadataStoresArtifactsDeleteCall {
	c := &ProjectsLocationsMetadataStoresArtifactsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Etag sets the optional parameter "etag": 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.
func (c *ProjectsLocationsMetadataStoresArtifactsDeleteCall) Etag(etag string) *ProjectsLocationsMetadataStoresArtifactsDeleteCall {
	c.urlParams_.Set("etag", etag)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Retrieves a specific Artifact.
//
//   - name: The resource name of the Artifact to retrieve. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/art
//     ifacts/{artifact}`.
func (r *ProjectsLocationsMetadataStoresArtifactsService) Get(name string) *ProjectsLocationsMetadataStoresArtifactsGetCall {
	c := &ProjectsLocationsMetadataStoresArtifactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresArtifactsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Artifact.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Artifact, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Artifact{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Artifacts in the MetadataStore.
//
//   - parent: The MetadataStore whose Artifacts should be listed. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresArtifactsService) List(parent string) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c := &ProjectsLocationsMetadataStoresArtifactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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`.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Filter(filter string) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) OrderBy(orderBy string) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// Artifacts to return. The service may return fewer. Must be in range 1-100,
// inclusive. Defaults to 100.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous 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.)
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/artifacts")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListArtifactsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListArtifactsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListArtifactsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListArtifactsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresArtifactsPatchCall struct {
	s                               *Service
	name                            string
	googlecloudaiplatformv1artifact *GoogleCloudAiplatformV1Artifact
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// Patch: Updates a stored Artifact.
//
// - name: Output only. The resource name of the Artifact.
func (r *ProjectsLocationsMetadataStoresArtifactsService) Patch(name string, googlecloudaiplatformv1artifact *GoogleCloudAiplatformV1Artifact) *ProjectsLocationsMetadataStoresArtifactsPatchCall {
	c := &ProjectsLocationsMetadataStoresArtifactsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1artifact = googlecloudaiplatformv1artifact
	return c
}

// AllowMissing sets the optional parameter "allowMissing": If set to true, and
// the Artifact is not found, a new Artifact is created.
func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsMetadataStoresArtifactsPatchCall {
	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
	return c
}

// UpdateMask sets the optional parameter "updateMask": A FieldMask indicating
// which fields should be updated.
func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMetadataStoresArtifactsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1artifact)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Artifact.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Artifact, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Artifact{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsPurgeCall struct {
	s                                            *Service
	parent                                       string
	googlecloudaiplatformv1purgeartifactsrequest *GoogleCloudAiplatformV1PurgeArtifactsRequest
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Purge: Purges Artifacts.
//
//   - parent: The metadata store to purge Artifacts from. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresArtifactsService) Purge(parent string, googlecloudaiplatformv1purgeartifactsrequest *GoogleCloudAiplatformV1PurgeArtifactsRequest) *ProjectsLocationsMetadataStoresArtifactsPurgeCall {
	c := &ProjectsLocationsMetadataStoresArtifactsPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1purgeartifactsrequest = googlecloudaiplatformv1purgeartifactsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsPurgeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsPurgeCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsPurgeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsPurgeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsPurgeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1purgeartifactsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/artifacts:purge")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.purge", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.purge" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsPurgeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.purge", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall struct {
	s            *Service
	artifact     string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// QueryArtifactLineageSubgraph: Retrieves lineage of an Artifact represented
// through Artifacts and Executions connected by Event edges and returned as a
// LineageSubgraph.
//
//   - artifact: The resource name of the Artifact whose Lineage needs to be
//     retrieved as a LineageSubgraph. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/art
//     ifacts/{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.
func (r *ProjectsLocationsMetadataStoresArtifactsService) QueryArtifactLineageSubgraph(artifact string) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c := &ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.artifact = artifact
	return c
}

// Filter sets the optional parameter "filter": 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`.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) Filter(filter string) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// MaxHops sets the optional parameter "maxHops": 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.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) MaxHops(maxHops int64) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c.urlParams_.Set("maxHops", fmt.Sprint(maxHops))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+artifact}:queryArtifactLineageSubgraph")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"artifact": c.artifact,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1LineageSubgraph.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1LineageSubgraph, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1LineageSubgraph{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsMetadataStoresArtifactsOperationsService) Cancel(name string) *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall {
	c := &ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsMetadataStoresArtifactsOperationsService) Delete(name string) *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall {
	c := &ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsMetadataStoresArtifactsOperationsService) Get(name string) *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall {
	c := &ProjectsLocationsMetadataStoresArtifactsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresArtifactsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsMetadataStoresArtifactsOperationsService) List(name string) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c := &ProjectsLocationsMetadataStoresArtifactsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) Filter(filter string) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsMetadataStoresArtifactsOperationsService) Wait(name string) *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall {
	c := &ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.artifacts.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresArtifactsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.artifacts.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall struct {
	s                                                              *Service
	context                                                        string
	googlecloudaiplatformv1addcontextartifactsandexecutionsrequest *GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest
	urlParams_                                                     gensupport.URLParams
	ctx_                                                           context.Context
	header_                                                        http.Header
}

// AddContextArtifactsAndExecutions: 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.
//
//   - context: The resource name of the Context that the Artifacts and
//     Executions belong to. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/con
//     texts/{context}`.
func (r *ProjectsLocationsMetadataStoresContextsService) AddContextArtifactsAndExecutions(context string, googlecloudaiplatformv1addcontextartifactsandexecutionsrequest *GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest) *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall {
	c := &ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.context = context
	c.googlecloudaiplatformv1addcontextartifactsandexecutionsrequest = googlecloudaiplatformv1addcontextartifactsandexecutionsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1addcontextartifactsandexecutionsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+context}:addContextArtifactsAndExecutions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"context": c.context,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse.ServerRespon
// se.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsAddContextChildrenCall struct {
	s                                                *Service
	context                                          string
	googlecloudaiplatformv1addcontextchildrenrequest *GoogleCloudAiplatformV1AddContextChildrenRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// AddContextChildren: 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.
//
//   - context: The resource name of the parent Context. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/con
//     texts/{context}`.
func (r *ProjectsLocationsMetadataStoresContextsService) AddContextChildren(context string, googlecloudaiplatformv1addcontextchildrenrequest *GoogleCloudAiplatformV1AddContextChildrenRequest) *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall {
	c := &ProjectsLocationsMetadataStoresContextsAddContextChildrenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.context = context
	c.googlecloudaiplatformv1addcontextchildrenrequest = googlecloudaiplatformv1addcontextchildrenrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1addcontextchildrenrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+context}:addContextChildren")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"context": c.context,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.addContextChildren", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.addContextChildren" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1AddContextChildrenResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1AddContextChildrenResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1AddContextChildrenResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.addContextChildren", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsCreateCall struct {
	s                              *Service
	parent                         string
	googlecloudaiplatformv1context *GoogleCloudAiplatformV1Context
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Create: Creates a Context associated with a MetadataStore.
//
//   - parent: The resource name of the MetadataStore where the Context should be
//     created. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresContextsService) Create(parent string, googlecloudaiplatformv1context *GoogleCloudAiplatformV1Context) *ProjectsLocationsMetadataStoresContextsCreateCall {
	c := &ProjectsLocationsMetadataStoresContextsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1context = googlecloudaiplatformv1context
	return c
}

// ContextId sets the optional parameter "contextId": The {context} portion of
// the resource name with the format:
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/conte
// xts/{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-/`. 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.)
func (c *ProjectsLocationsMetadataStoresContextsCreateCall) ContextId(contextId string) *ProjectsLocationsMetadataStoresContextsCreateCall {
	c.urlParams_.Set("contextId", contextId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1context)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/contexts")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Context.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Context, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Context{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a stored Context.
//
//   - name: The resource name of the Context to delete. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/con
//     texts/{context}`.
func (r *ProjectsLocationsMetadataStoresContextsService) Delete(name string) *ProjectsLocationsMetadataStoresContextsDeleteCall {
	c := &ProjectsLocationsMetadataStoresContextsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Etag sets the optional parameter "etag": 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.
func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) Etag(etag string) *ProjectsLocationsMetadataStoresContextsDeleteCall {
	c.urlParams_.Set("etag", etag)
	return c
}

// Force sets the optional parameter "force": The force deletion semantics is
// still undefined. Users should not use this field.
func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) Force(force bool) *ProjectsLocationsMetadataStoresContextsDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Retrieves a specific Context.
//
//   - name: The resource name of the Context to retrieve. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/con
//     texts/{context}`.
func (r *ProjectsLocationsMetadataStoresContextsService) Get(name string) *ProjectsLocationsMetadataStoresContextsGetCall {
	c := &ProjectsLocationsMetadataStoresContextsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresContextsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresContextsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Context.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Context, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Context{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Contexts on the MetadataStore.
//
//   - parent: The MetadataStore whose Contexts should be listed. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresContextsService) List(parent string) *ProjectsLocationsMetadataStoresContextsListCall {
	c := &ProjectsLocationsMetadataStoresContextsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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`.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Filter(filter string) *ProjectsLocationsMetadataStoresContextsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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.
func (c *ProjectsLocationsMetadataStoresContextsListCall) OrderBy(orderBy string) *ProjectsLocationsMetadataStoresContextsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// Contexts to return. The service may return fewer. Must be in range 1-100,
// inclusive. Defaults to 100.
func (c *ProjectsLocationsMetadataStoresContextsListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresContextsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous 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.)
func (c *ProjectsLocationsMetadataStoresContextsListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresContextsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresContextsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresContextsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/contexts")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListContextsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListContextsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListContextsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListContextsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresContextsPatchCall struct {
	s                              *Service
	name                           string
	googlecloudaiplatformv1context *GoogleCloudAiplatformV1Context
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Patch: Updates a stored Context.
//
// - name: Immutable. The resource name of the Context.
func (r *ProjectsLocationsMetadataStoresContextsService) Patch(name string, googlecloudaiplatformv1context *GoogleCloudAiplatformV1Context) *ProjectsLocationsMetadataStoresContextsPatchCall {
	c := &ProjectsLocationsMetadataStoresContextsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1context = googlecloudaiplatformv1context
	return c
}

// AllowMissing sets the optional parameter "allowMissing": If set to true, and
// the Context is not found, a new Context is created.
func (c *ProjectsLocationsMetadataStoresContextsPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsMetadataStoresContextsPatchCall {
	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
	return c
}

// UpdateMask sets the optional parameter "updateMask": A FieldMask indicating
// which fields should be updated.
func (c *ProjectsLocationsMetadataStoresContextsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMetadataStoresContextsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsPatchCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1context)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Context.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Context, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Context{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsPurgeCall struct {
	s                                           *Service
	parent                                      string
	googlecloudaiplatformv1purgecontextsrequest *GoogleCloudAiplatformV1PurgeContextsRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// Purge: Purges Contexts.
//
//   - parent: The metadata store to purge Contexts from. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresContextsService) Purge(parent string, googlecloudaiplatformv1purgecontextsrequest *GoogleCloudAiplatformV1PurgeContextsRequest) *ProjectsLocationsMetadataStoresContextsPurgeCall {
	c := &ProjectsLocationsMetadataStoresContextsPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1purgecontextsrequest = googlecloudaiplatformv1purgecontextsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsPurgeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsPurgeCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsPurgeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsPurgeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsPurgeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1purgecontextsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/contexts:purge")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.purge", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.purge" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsPurgeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.purge", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall struct {
	s            *Service
	context      string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// QueryContextLineageSubgraph: Retrieves Artifacts and Executions within the
// specified Context, connected by Event edges and returned as a
// LineageSubgraph.
//
//   - context: The resource name of the Context whose Artifacts and Executions
//     should be retrieved as a LineageSubgraph. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/con
//     texts/{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.
func (r *ProjectsLocationsMetadataStoresContextsService) QueryContextLineageSubgraph(context string) *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall {
	c := &ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.context = context
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+context}:queryContextLineageSubgraph")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"context": c.context,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1LineageSubgraph.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1LineageSubgraph, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1LineageSubgraph{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall struct {
	s                                                   *Service
	context                                             string
	googlecloudaiplatformv1removecontextchildrenrequest *GoogleCloudAiplatformV1RemoveContextChildrenRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// RemoveContextChildren: 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.
//
//   - context: The resource name of the parent Context. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/con
//     texts/{context}`.
func (r *ProjectsLocationsMetadataStoresContextsService) RemoveContextChildren(context string, googlecloudaiplatformv1removecontextchildrenrequest *GoogleCloudAiplatformV1RemoveContextChildrenRequest) *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall {
	c := &ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.context = context
	c.googlecloudaiplatformv1removecontextchildrenrequest = googlecloudaiplatformv1removecontextchildrenrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1removecontextchildrenrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+context}:removeContextChildren")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"context": c.context,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1RemoveContextChildrenResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1RemoveContextChildrenResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1RemoveContextChildrenResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsMetadataStoresContextsOperationsService) Cancel(name string) *ProjectsLocationsMetadataStoresContextsOperationsCancelCall {
	c := &ProjectsLocationsMetadataStoresContextsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresContextsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsMetadataStoresContextsOperationsService) Delete(name string) *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall {
	c := &ProjectsLocationsMetadataStoresContextsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresContextsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsMetadataStoresContextsOperationsService) Get(name string) *ProjectsLocationsMetadataStoresContextsOperationsGetCall {
	c := &ProjectsLocationsMetadataStoresContextsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresContextsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresContextsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresContextsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsMetadataStoresContextsOperationsService) List(name string) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c := &ProjectsLocationsMetadataStoresContextsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) Filter(filter string) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresContextsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresContextsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsMetadataStoresContextsOperationsService) Wait(name string) *ProjectsLocationsMetadataStoresContextsOperationsWaitCall {
	c := &ProjectsLocationsMetadataStoresContextsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsMetadataStoresContextsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsMetadataStoresContextsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresContextsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresContextsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresContextsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresContextsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.contexts.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresContextsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.contexts.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall struct {
	s                                                *Service
	execution                                        string
	googlecloudaiplatformv1addexecutioneventsrequest *GoogleCloudAiplatformV1AddExecutionEventsRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// AddExecutionEvents: 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.
//
//   - execution: The resource name of the Execution that the Events connect
//     Artifacts with. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/exe
//     cutions/{execution}`.
func (r *ProjectsLocationsMetadataStoresExecutionsService) AddExecutionEvents(execution string, googlecloudaiplatformv1addexecutioneventsrequest *GoogleCloudAiplatformV1AddExecutionEventsRequest) *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall {
	c := &ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.execution = execution
	c.googlecloudaiplatformv1addexecutioneventsrequest = googlecloudaiplatformv1addexecutioneventsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1addexecutioneventsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+execution}:addExecutionEvents")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"execution": c.execution,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1AddExecutionEventsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1AddExecutionEventsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1AddExecutionEventsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsCreateCall struct {
	s                                *Service
	parent                           string
	googlecloudaiplatformv1execution *GoogleCloudAiplatformV1Execution
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Create: Creates an Execution associated with a MetadataStore.
//
//   - parent: The resource name of the MetadataStore where the Execution should
//     be created. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresExecutionsService) Create(parent string, googlecloudaiplatformv1execution *GoogleCloudAiplatformV1Execution) *ProjectsLocationsMetadataStoresExecutionsCreateCall {
	c := &ProjectsLocationsMetadataStoresExecutionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1execution = googlecloudaiplatformv1execution
	return c
}

// ExecutionId sets the optional parameter "executionId": The {execution}
// portion of the resource name with the format:
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/execu
// tions/{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-/`. 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.)
func (c *ProjectsLocationsMetadataStoresExecutionsCreateCall) ExecutionId(executionId string) *ProjectsLocationsMetadataStoresExecutionsCreateCall {
	c.urlParams_.Set("executionId", executionId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1execution)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/executions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Execution.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Execution, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Execution{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes an Execution.
//
//   - name: The resource name of the Execution to delete. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/exe
//     cutions/{execution}`.
func (r *ProjectsLocationsMetadataStoresExecutionsService) Delete(name string) *ProjectsLocationsMetadataStoresExecutionsDeleteCall {
	c := &ProjectsLocationsMetadataStoresExecutionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Etag sets the optional parameter "etag": 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.
func (c *ProjectsLocationsMetadataStoresExecutionsDeleteCall) Etag(etag string) *ProjectsLocationsMetadataStoresExecutionsDeleteCall {
	c.urlParams_.Set("etag", etag)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Retrieves a specific Execution.
//
//   - name: The resource name of the Execution to retrieve. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/exe
//     cutions/{execution}`.
func (r *ProjectsLocationsMetadataStoresExecutionsService) Get(name string) *ProjectsLocationsMetadataStoresExecutionsGetCall {
	c := &ProjectsLocationsMetadataStoresExecutionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresExecutionsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Execution.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Execution, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Execution{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Executions in the MetadataStore.
//
//   - parent: The MetadataStore whose Executions should be listed. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresExecutionsService) List(parent string) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c := &ProjectsLocationsMetadataStoresExecutionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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`.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Filter(filter string) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) OrderBy(orderBy string) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// Executions to return. The service may return fewer. Must be in range 1-100,
// inclusive. Defaults to 100.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous 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.)
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/executions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListExecutionsResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListExecutionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListExecutionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListExecutionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresExecutionsPatchCall struct {
	s                                *Service
	name                             string
	googlecloudaiplatformv1execution *GoogleCloudAiplatformV1Execution
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Patch: Updates a stored Execution.
//
// - name: Output only. The resource name of the Execution.
func (r *ProjectsLocationsMetadataStoresExecutionsService) Patch(name string, googlecloudaiplatformv1execution *GoogleCloudAiplatformV1Execution) *ProjectsLocationsMetadataStoresExecutionsPatchCall {
	c := &ProjectsLocationsMetadataStoresExecutionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1execution = googlecloudaiplatformv1execution
	return c
}

// AllowMissing sets the optional parameter "allowMissing": If set to true, and
// the Execution is not found, a new Execution is created.
func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsMetadataStoresExecutionsPatchCall {
	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
	return c
}

// UpdateMask sets the optional parameter "updateMask": A FieldMask indicating
// which fields should be updated.
func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMetadataStoresExecutionsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1execution)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Execution.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Execution, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Execution{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsPurgeCall struct {
	s                                             *Service
	parent                                        string
	googlecloudaiplatformv1purgeexecutionsrequest *GoogleCloudAiplatformV1PurgeExecutionsRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// Purge: Purges Executions.
//
//   - parent: The metadata store to purge Executions from. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresExecutionsService) Purge(parent string, googlecloudaiplatformv1purgeexecutionsrequest *GoogleCloudAiplatformV1PurgeExecutionsRequest) *ProjectsLocationsMetadataStoresExecutionsPurgeCall {
	c := &ProjectsLocationsMetadataStoresExecutionsPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1purgeexecutionsrequest = googlecloudaiplatformv1purgeexecutionsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsPurgeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsPurgeCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsPurgeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsPurgeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsPurgeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1purgeexecutionsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/executions:purge")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.purge", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.purge" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsPurgeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.purge", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall struct {
	s            *Service
	execution    string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// QueryExecutionInputsAndOutputs: Obtains the set of input and output
// Artifacts for this Execution, in the form of LineageSubgraph that also
// contains the Execution and connecting Events.
//
//   - execution: The resource name of the Execution whose input and output
//     Artifacts should be retrieved as a LineageSubgraph. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/exe
//     cutions/{execution}`.
func (r *ProjectsLocationsMetadataStoresExecutionsService) QueryExecutionInputsAndOutputs(execution string) *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall {
	c := &ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.execution = execution
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+execution}:queryExecutionInputsAndOutputs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"execution": c.execution,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1LineageSubgraph.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1LineageSubgraph, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1LineageSubgraph{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsMetadataStoresExecutionsOperationsService) Cancel(name string) *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall {
	c := &ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsMetadataStoresExecutionsOperationsService) Delete(name string) *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall {
	c := &ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsMetadataStoresExecutionsOperationsService) Get(name string) *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall {
	c := &ProjectsLocationsMetadataStoresExecutionsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresExecutionsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsMetadataStoresExecutionsOperationsService) List(name string) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c := &ProjectsLocationsMetadataStoresExecutionsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) Filter(filter string) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsMetadataStoresExecutionsOperationsService) Wait(name string) *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall {
	c := &ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.executions.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresExecutionsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.executions.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresMetadataSchemasCreateCall struct {
	s                                     *Service
	parent                                string
	googlecloudaiplatformv1metadataschema *GoogleCloudAiplatformV1MetadataSchema
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Create: Creates a MetadataSchema.
//
//   - parent: The resource name of the MetadataStore where the MetadataSchema
//     should be created. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresMetadataSchemasService) Create(parent string, googlecloudaiplatformv1metadataschema *GoogleCloudAiplatformV1MetadataSchema) *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall {
	c := &ProjectsLocationsMetadataStoresMetadataSchemasCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1metadataschema = googlecloudaiplatformv1metadataschema
	return c
}

// MetadataSchemaId sets the optional parameter "metadataSchemaId": The
// {metadata_schema} portion of the resource name with the format:
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metad
// ataSchemas/{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-/`. 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.)
func (c *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall) MetadataSchemaId(metadataSchemaId string) *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall {
	c.urlParams_.Set("metadataSchemaId", metadataSchemaId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1metadataschema)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/metadataSchemas")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.metadataSchemas.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.metadataSchemas.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1MetadataSchema.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1MetadataSchema, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1MetadataSchema{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.metadataSchemas.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresMetadataSchemasGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Retrieves a specific MetadataSchema.
//
//   - name: The resource name of the MetadataSchema to retrieve. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}/met
//     adataSchemas/{metadataschema}`.
func (r *ProjectsLocationsMetadataStoresMetadataSchemasService) Get(name string) *ProjectsLocationsMetadataStoresMetadataSchemasGetCall {
	c := &ProjectsLocationsMetadataStoresMetadataSchemasGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresMetadataSchemasGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresMetadataSchemasGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresMetadataSchemasGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.metadataSchemas.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.metadataSchemas.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1MetadataSchema.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1MetadataSchema, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1MetadataSchema{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.metadataSchemas.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresMetadataSchemasListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists MetadataSchemas.
//
//   - parent: The MetadataStore whose MetadataSchemas should be listed. Format:
//     `projects/{project}/locations/{location}/metadataStores/{metadatastore}`.
func (r *ProjectsLocationsMetadataStoresMetadataSchemasService) List(parent string) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c := &ProjectsLocationsMetadataStoresMetadataSchemasListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": A query to filter available
// MetadataSchemas for matching results.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Filter(filter string) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// MetadataSchemas to return. The service may return fewer. Must be in range
// 1-100, inclusive. Defaults to 100.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous 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.)
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/metadataSchemas")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.metadataSchemas.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.metadataSchemas.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListMetadataSchemasResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListMetadataSchemasResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListMetadataSchemasResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.metadataSchemas.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListMetadataSchemasResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsMetadataStoresOperationsService) Cancel(name string) *ProjectsLocationsMetadataStoresOperationsCancelCall {
	c := &ProjectsLocationsMetadataStoresOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsMetadataStoresOperationsService) Delete(name string) *ProjectsLocationsMetadataStoresOperationsDeleteCall {
	c := &ProjectsLocationsMetadataStoresOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMetadataStoresOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsMetadataStoresOperationsService) Get(name string) *ProjectsLocationsMetadataStoresOperationsGetCall {
	c := &ProjectsLocationsMetadataStoresOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMetadataStoresOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsMetadataStoresOperationsService) List(name string) *ProjectsLocationsMetadataStoresOperationsListCall {
	c := &ProjectsLocationsMetadataStoresOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) Filter(filter string) *ProjectsLocationsMetadataStoresOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsMetadataStoresOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) PageToken(pageToken string) *ProjectsLocationsMetadataStoresOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsMetadataStoresOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMetadataStoresOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMetadataStoresOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMetadataStoresOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsMetadataStoresOperationsService) Wait(name string) *ProjectsLocationsMetadataStoresOperationsWaitCall {
	c := &ProjectsLocationsMetadataStoresOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsMetadataStoresOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsMetadataStoresOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMetadataStoresOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMetadataStoresOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMetadataStoresOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMetadataStoresOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.metadataStores.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMetadataStoresOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.metadataStores.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMigratableResourcesBatchMigrateCall struct {
	s                                                   *Service
	parent                                              string
	googlecloudaiplatformv1batchmigrateresourcesrequest *GoogleCloudAiplatformV1BatchMigrateResourcesRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// BatchMigrate: Batch migrates resources from ml.googleapis.com,
// automl.googleapis.com, and datalabeling.googleapis.com to Vertex AI.
//
//   - parent: The location of the migrated resource will live in. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsMigratableResourcesService) BatchMigrate(parent string, googlecloudaiplatformv1batchmigrateresourcesrequest *GoogleCloudAiplatformV1BatchMigrateResourcesRequest) *ProjectsLocationsMigratableResourcesBatchMigrateCall {
	c := &ProjectsLocationsMigratableResourcesBatchMigrateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchmigrateresourcesrequest = googlecloudaiplatformv1batchmigrateresourcesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMigratableResourcesBatchMigrateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesBatchMigrateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMigratableResourcesBatchMigrateCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesBatchMigrateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMigratableResourcesBatchMigrateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMigratableResourcesBatchMigrateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchmigrateresourcesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/migratableResources:batchMigrate")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.batchMigrate", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.migratableResources.batchMigrate" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMigratableResourcesBatchMigrateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.batchMigrate", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMigratableResourcesSearchCall struct {
	s                                                       *Service
	parent                                                  string
	googlecloudaiplatformv1searchmigratableresourcesrequest *GoogleCloudAiplatformV1SearchMigratableResourcesRequest
	urlParams_                                              gensupport.URLParams
	ctx_                                                    context.Context
	header_                                                 http.Header
}

// Search: 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.
//
//   - parent: 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}`.
func (r *ProjectsLocationsMigratableResourcesService) Search(parent string, googlecloudaiplatformv1searchmigratableresourcesrequest *GoogleCloudAiplatformV1SearchMigratableResourcesRequest) *ProjectsLocationsMigratableResourcesSearchCall {
	c := &ProjectsLocationsMigratableResourcesSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1searchmigratableresourcesrequest = googlecloudaiplatformv1searchmigratableresourcesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMigratableResourcesSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesSearchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMigratableResourcesSearchCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesSearchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMigratableResourcesSearchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMigratableResourcesSearchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1searchmigratableresourcesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/migratableResources:search")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.search", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.migratableResources.search" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SearchMigratableResourcesResponse.ServerResponse.Head
// er or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsMigratableResourcesSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SearchMigratableResourcesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SearchMigratableResourcesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.search", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMigratableResourcesSearchCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1SearchMigratableResourcesResponse) error) error {
	c.ctx_ = ctx
	defer func(pt string) { c.googlecloudaiplatformv1searchmigratableresourcesrequest.PageToken = pt }(c.googlecloudaiplatformv1searchmigratableresourcesrequest.PageToken)
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.googlecloudaiplatformv1searchmigratableresourcesrequest.PageToken = x.NextPageToken
	}
}

type ProjectsLocationsMigratableResourcesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsMigratableResourcesOperationsService) Cancel(name string) *ProjectsLocationsMigratableResourcesOperationsCancelCall {
	c := &ProjectsLocationsMigratableResourcesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMigratableResourcesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMigratableResourcesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMigratableResourcesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMigratableResourcesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.migratableResources.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMigratableResourcesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMigratableResourcesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsMigratableResourcesOperationsService) Delete(name string) *ProjectsLocationsMigratableResourcesOperationsDeleteCall {
	c := &ProjectsLocationsMigratableResourcesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMigratableResourcesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMigratableResourcesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMigratableResourcesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMigratableResourcesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.migratableResources.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsMigratableResourcesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMigratableResourcesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsMigratableResourcesOperationsService) Get(name string) *ProjectsLocationsMigratableResourcesOperationsGetCall {
	c := &ProjectsLocationsMigratableResourcesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMigratableResourcesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.migratableResources.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsMigratableResourcesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsMigratableResourcesOperationsService) List(name string) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c := &ProjectsLocationsMigratableResourcesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Filter(filter string) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMigratableResourcesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.migratableResources.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsMigratableResourcesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsMigratableResourcesOperationsService) Wait(name string) *ProjectsLocationsMigratableResourcesOperationsWaitCall {
	c := &ProjectsLocationsMigratableResourcesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsMigratableResourcesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsMigratableResourcesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsMigratableResourcesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsMigratableResourcesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsMigratableResourcesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsMigratableResourcesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.migratableResources.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsMigratableResourcesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.migratableResources.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsCreateCall struct {
	s                                                   *Service
	parent                                              string
	googlecloudaiplatformv1modeldeploymentmonitoringjob *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// Create: Creates a ModelDeploymentMonitoringJob. It will run periodically on
// a configured interval.
//
//   - parent: The parent of the ModelDeploymentMonitoringJob. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) Create(parent string, googlecloudaiplatformv1modeldeploymentmonitoringjob *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob) *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1modeldeploymentmonitoringjob = googlecloudaiplatformv1modeldeploymentmonitoringjob
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1modeldeploymentmonitoringjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/modelDeploymentMonitoringJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ModelDeploymentMonitoringJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ModelDeploymentMonitoringJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a ModelDeploymentMonitoringJob.
//
//   - name: The resource name of the model monitoring job to delete. Format:
//     `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{mod
//     el_deployment_monitoring_job}`.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) Delete(name string) *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a ModelDeploymentMonitoringJob.
//
//   - name: The resource name of the ModelDeploymentMonitoringJob. Format:
//     `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{mod
//     el_deployment_monitoring_job}`.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) Get(name string) *ProjectsLocationsModelDeploymentMonitoringJobsGetCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelDeploymentMonitoringJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ModelDeploymentMonitoringJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ModelDeploymentMonitoringJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists ModelDeploymentMonitoringJobs in a Location.
//
//   - parent: The parent of the ModelDeploymentMonitoringJob. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) List(parent string) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Filter(filter string) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) PageSize(pageSize int64) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) PageToken(pageToken string) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) ReadMask(readMask string) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/modelDeploymentMonitoringJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse.ServerRespo
// nse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelDeploymentMonitoringJobsPatchCall struct {
	s                                                   *Service
	name                                                string
	googlecloudaiplatformv1modeldeploymentmonitoringjob *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// Patch: Updates a ModelDeploymentMonitoringJob.
//
// - name: Output only. Resource name of a ModelDeploymentMonitoringJob.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) Patch(name string, googlecloudaiplatformv1modeldeploymentmonitoringjob *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob) *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1modeldeploymentmonitoringjob = googlecloudaiplatformv1modeldeploymentmonitoringjob
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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_datas
// et. 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_data
// set` *
// `model_deployment_monitoring_objective_configs.objective_config.training_pred
// iction_skew_detection_config` *
// `model_deployment_monitoring_objective_configs.objective_config.prediction_dr
// ift_detection_config`
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1modeldeploymentmonitoringjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsPauseCall struct {
	s                                                               *Service
	name                                                            string
	googlecloudaiplatformv1pausemodeldeploymentmonitoringjobrequest *GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest
	urlParams_                                                      gensupport.URLParams
	ctx_                                                            context.Context
	header_                                                         http.Header
}

// Pause: Pauses a ModelDeploymentMonitoringJob. If the job is running, the
// server makes a best effort to cancel the job. Will mark
// ModelDeploymentMonitoringJob.state to 'PAUSED'.
//
//   - name: The resource name of the ModelDeploymentMonitoringJob to pause.
//     Format:
//     `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{mod
//     el_deployment_monitoring_job}`.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) Pause(name string, googlecloudaiplatformv1pausemodeldeploymentmonitoringjobrequest *GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest) *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1pausemodeldeploymentmonitoringjobrequest = googlecloudaiplatformv1pausemodeldeploymentmonitoringjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1pausemodeldeploymentmonitoringjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:pause")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsResumeCall struct {
	s                                                                *Service
	name                                                             string
	googlecloudaiplatformv1resumemodeldeploymentmonitoringjobrequest *GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest
	urlParams_                                                       gensupport.URLParams
	ctx_                                                             context.Context
	header_                                                          http.Header
}

// Resume: Resumes a paused ModelDeploymentMonitoringJob. It will start to run
// from next scheduled time. A deleted ModelDeploymentMonitoringJob can't be
// resumed.
//
//   - name: The resource name of the ModelDeploymentMonitoringJob to resume.
//     Format:
//     `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{mod
//     el_deployment_monitoring_job}`.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) Resume(name string, googlecloudaiplatformv1resumemodeldeploymentmonitoringjobrequest *GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest) *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1resumemodeldeploymentmonitoringjobrequest = googlecloudaiplatformv1resumemodeldeploymentmonitoringjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1resumemodeldeploymentmonitoringjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:resume")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall struct {
	s                                                                           *Service
	modelDeploymentMonitoringJob                                                string
	googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest *GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest
	urlParams_                                                                  gensupport.URLParams
	ctx_                                                                        context.Context
	header_                                                                     http.Header
}

// SearchModelDeploymentMonitoringStatsAnomalies: Searches Model Monitoring
// Statistics generated within a given time window.
//
//   - modelDeploymentMonitoringJob: ModelDeploymentMonitoring Job resource name.
//     Format:
//     `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{mod
//     el_deployment_monitoring_job}`.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsService) SearchModelDeploymentMonitoringStatsAnomalies(modelDeploymentMonitoringJob string, googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest *GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest) *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.modelDeploymentMonitoringJob = modelDeploymentMonitoringJob
	c.googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest = googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+modelDeploymentMonitoringJob}:searchModelDeploymentMonitoringStatsAnomalies")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"modelDeploymentMonitoringJob": c.modelDeploymentMonitoringJob,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse
// .ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse) error) error {
	c.ctx_ = ctx
	defer func(pt string) {
		c.googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest.PageToken = pt
	}(c.googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest.PageToken)
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest.PageToken = x.NextPageToken
	}
}

type ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsOperationsService) Cancel(name string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsOperationsService) Delete(name string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsOperationsService) Get(name string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsOperationsService) List(name string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Filter(filter string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsModelDeploymentMonitoringJobsOperationsService) Wait(name string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall {
	c := &ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsCopyCall struct {
	s                                       *Service
	parent                                  string
	googlecloudaiplatformv1copymodelrequest *GoogleCloudAiplatformV1CopyModelRequest
	urlParams_                              gensupport.URLParams
	ctx_                                    context.Context
	header_                                 http.Header
}

// Copy: 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
// content to be region-agnostic, as well as making sure that any resources
// (e.g. files) it depends on remain accessible.
//
//   - parent: The resource name of the Location into which to copy the Model.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsModelsService) Copy(parent string, googlecloudaiplatformv1copymodelrequest *GoogleCloudAiplatformV1CopyModelRequest) *ProjectsLocationsModelsCopyCall {
	c := &ProjectsLocationsModelsCopyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1copymodelrequest = googlecloudaiplatformv1copymodelrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsCopyCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsCopyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsCopyCall) Context(ctx context.Context) *ProjectsLocationsModelsCopyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsCopyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsCopyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1copymodelrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/models:copy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.copy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.copy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsCopyCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.copy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Model. A model cannot be deleted if any Endpoint resource
// has a DeployedModel based on the model in its deployed_models field.
//
//   - name: The name of the Model resource to be deleted. Format:
//     `projects/{project}/locations/{location}/models/{model}`.
func (r *ProjectsLocationsModelsService) Delete(name string) *ProjectsLocationsModelsDeleteCall {
	c := &ProjectsLocationsModelsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsDeleteVersionCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// DeleteVersion: Deletes a Model version. Model version can only be deleted if
// there are no DeployedModels created from it. Deleting the only version in
// the Model is not allowed. Use DeleteModel for deleting the Model instead.
//
//   - name: The name of the model version to be deleted, with a version ID
//     explicitly included. Example:
//     `projects/{project}/locations/{location}/models/{model}@1234`.
func (r *ProjectsLocationsModelsService) DeleteVersion(name string) *ProjectsLocationsModelsDeleteVersionCall {
	c := &ProjectsLocationsModelsDeleteVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsDeleteVersionCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsDeleteVersionCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsDeleteVersionCall) Context(ctx context.Context) *ProjectsLocationsModelsDeleteVersionCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsDeleteVersionCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsDeleteVersionCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:deleteVersion")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.deleteVersion", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.deleteVersion" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsDeleteVersionCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.deleteVersion", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsExportCall struct {
	s                                         *Service
	name                                      string
	googlecloudaiplatformv1exportmodelrequest *GoogleCloudAiplatformV1ExportModelRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Export: 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.
//
//   - name: 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.
func (r *ProjectsLocationsModelsService) Export(name string, googlecloudaiplatformv1exportmodelrequest *GoogleCloudAiplatformV1ExportModelRequest) *ProjectsLocationsModelsExportCall {
	c := &ProjectsLocationsModelsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1exportmodelrequest = googlecloudaiplatformv1exportmodelrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsExportCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsExportCall) Context(ctx context.Context) *ProjectsLocationsModelsExportCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsExportCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsExportCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1exportmodelrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:export")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.export", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.export" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.export", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Model.
//
//   - name: 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.
func (r *ProjectsLocationsModelsService) Get(name string) *ProjectsLocationsModelsGetCall {
	c := &ProjectsLocationsModelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Model.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Model, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Model{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsModelsService) GetIamPolicy(resource string) *ProjectsLocationsModelsGetIamPolicyCall {
	c := &ProjectsLocationsModelsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsModelsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsModelsGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsModelsGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Models in a Location.
//
//   - parent: The resource name of the Location to list the Models from. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsModelsService) List(parent string) *ProjectsLocationsModelsListCall {
	c := &ProjectsLocationsModelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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. * `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". *
// `base_model_name` only supports = Some examples: * `model=1234` *
// `displayName="myDisplayName" * `labels.myKey="myValue" *
// `baseModelName="text-bison"
func (c *ProjectsLocationsModelsListCall) Filter(filter string) *ProjectsLocationsModelsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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` Example: `display_name, create_time desc`.
func (c *ProjectsLocationsModelsListCall) OrderBy(orderBy string) *ProjectsLocationsModelsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelsListCall) PageSize(pageSize int64) *ProjectsLocationsModelsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListModelsResponse.next_page_token of the
// previous ModelService.ListModels call.
func (c *ProjectsLocationsModelsListCall) PageToken(pageToken string) *ProjectsLocationsModelsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsModelsListCall) ReadMask(readMask string) *ProjectsLocationsModelsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsListCall) Context(ctx context.Context) *ProjectsLocationsModelsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/models")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListModelsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListModelsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListModelsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListModelsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelsListCheckpointsCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListCheckpoints: Lists checkpoints of the specified model version.
//
//   - name: The name of the model version to list checkpoints for.
//     `projects/{project}/locations/{location}/models/{model}@{version}`
//     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 latest version will be used.
func (r *ProjectsLocationsModelsService) ListCheckpoints(name string) *ProjectsLocationsModelsListCheckpointsCall {
	c := &ProjectsLocationsModelsListCheckpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelsListCheckpointsCall) PageSize(pageSize int64) *ProjectsLocationsModelsListCheckpointsCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via next_page_token of the previous
// ListModelVersionCheckpoints call.
func (c *ProjectsLocationsModelsListCheckpointsCall) PageToken(pageToken string) *ProjectsLocationsModelsListCheckpointsCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsListCheckpointsCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsListCheckpointsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsListCheckpointsCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsListCheckpointsCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsListCheckpointsCall) Context(ctx context.Context) *ProjectsLocationsModelsListCheckpointsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsListCheckpointsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsListCheckpointsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:listCheckpoints")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.listCheckpoints", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.listCheckpoints" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse.ServerResponse.He
// ader or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsListCheckpointsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.listCheckpoints", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelsListCheckpointsCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelsListVersionsCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ListVersions: Lists versions of the specified model.
//
// - name: The name of the model to list versions for.
func (r *ProjectsLocationsModelsService) ListVersions(name string) *ProjectsLocationsModelsListVersionsCall {
	c := &ProjectsLocationsModelsListVersionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": 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"
func (c *ProjectsLocationsModelsListVersionsCall) Filter(filter string) *ProjectsLocationsModelsListVersionsCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`.
func (c *ProjectsLocationsModelsListVersionsCall) OrderBy(orderBy string) *ProjectsLocationsModelsListVersionsCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelsListVersionsCall) PageSize(pageSize int64) *ProjectsLocationsModelsListVersionsCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via next_page_token of the previous
// ListModelVersions call.
func (c *ProjectsLocationsModelsListVersionsCall) PageToken(pageToken string) *ProjectsLocationsModelsListVersionsCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsModelsListVersionsCall) ReadMask(readMask string) *ProjectsLocationsModelsListVersionsCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsListVersionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsListVersionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsListVersionsCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsListVersionsCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsListVersionsCall) Context(ctx context.Context) *ProjectsLocationsModelsListVersionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsListVersionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsListVersionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:listVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.listVersions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.listVersions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListModelVersionsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsListVersionsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListModelVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListModelVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.listVersions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelsListVersionsCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListModelVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelsMergeVersionAliasesCall struct {
	s                                                 *Service
	name                                              string
	googlecloudaiplatformv1mergeversionaliasesrequest *GoogleCloudAiplatformV1MergeVersionAliasesRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// MergeVersionAliases: Merges a set of aliases for a Model version.
//
//   - name: The name of the model version to merge aliases, with a version ID
//     explicitly included. Example:
//     `projects/{project}/locations/{location}/models/{model}@1234`.
func (r *ProjectsLocationsModelsService) MergeVersionAliases(name string, googlecloudaiplatformv1mergeversionaliasesrequest *GoogleCloudAiplatformV1MergeVersionAliasesRequest) *ProjectsLocationsModelsMergeVersionAliasesCall {
	c := &ProjectsLocationsModelsMergeVersionAliasesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1mergeversionaliasesrequest = googlecloudaiplatformv1mergeversionaliasesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsMergeVersionAliasesCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsMergeVersionAliasesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsMergeVersionAliasesCall) Context(ctx context.Context) *ProjectsLocationsModelsMergeVersionAliasesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsMergeVersionAliasesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsMergeVersionAliasesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1mergeversionaliasesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:mergeVersionAliases")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.mergeVersionAliases", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.mergeVersionAliases" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Model.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsMergeVersionAliasesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Model, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Model{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.mergeVersionAliases", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsPatchCall struct {
	s                            *Service
	name                         string
	googlecloudaiplatformv1model *GoogleCloudAiplatformV1Model
	urlParams_                   gensupport.URLParams
	ctx_                         context.Context
	header_                      http.Header
}

// Patch: Updates a Model.
//
// - name: Identifier. The resource name of the Model.
func (r *ProjectsLocationsModelsService) Patch(name string, googlecloudaiplatformv1model *GoogleCloudAiplatformV1Model) *ProjectsLocationsModelsPatchCall {
	c := &ProjectsLocationsModelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1model = googlecloudaiplatformv1model
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask.
func (c *ProjectsLocationsModelsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsModelsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsPatchCall) Context(ctx context.Context) *ProjectsLocationsModelsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1model)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Model.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Model, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Model{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsModelsService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsModelsSetIamPolicyCall {
	c := &ProjectsLocationsModelsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsModelsSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsModelsService) TestIamPermissions(resource string) *ProjectsLocationsModelsTestIamPermissionsCall {
	c := &ProjectsLocationsModelsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsModelsTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsModelsTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsModelsTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsUpdateExplanationDatasetCall struct {
	s                                                      *Service
	model                                                  string
	googlecloudaiplatformv1updateexplanationdatasetrequest *GoogleCloudAiplatformV1UpdateExplanationDatasetRequest
	urlParams_                                             gensupport.URLParams
	ctx_                                                   context.Context
	header_                                                http.Header
}

// UpdateExplanationDataset: Incrementally update the dataset used for an
// examples model.
//
//   - model: The resource name of the Model to update. Format:
//     `projects/{project}/locations/{location}/models/{model}`.
func (r *ProjectsLocationsModelsService) UpdateExplanationDataset(model string, googlecloudaiplatformv1updateexplanationdatasetrequest *GoogleCloudAiplatformV1UpdateExplanationDatasetRequest) *ProjectsLocationsModelsUpdateExplanationDatasetCall {
	c := &ProjectsLocationsModelsUpdateExplanationDatasetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1updateexplanationdatasetrequest = googlecloudaiplatformv1updateexplanationdatasetrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsUpdateExplanationDatasetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsUpdateExplanationDatasetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsUpdateExplanationDatasetCall) Context(ctx context.Context) *ProjectsLocationsModelsUpdateExplanationDatasetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsUpdateExplanationDatasetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsUpdateExplanationDatasetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1updateexplanationdatasetrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:updateExplanationDataset")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.updateExplanationDataset", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.updateExplanationDataset" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsUpdateExplanationDatasetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.updateExplanationDataset", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsUploadCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1uploadmodelrequest *GoogleCloudAiplatformV1UploadModelRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Upload: Uploads a Model artifact into Vertex AI.
//
//   - parent: The resource name of the Location into which to upload the Model.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsModelsService) Upload(parent string, googlecloudaiplatformv1uploadmodelrequest *GoogleCloudAiplatformV1UploadModelRequest) *ProjectsLocationsModelsUploadCall {
	c := &ProjectsLocationsModelsUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1uploadmodelrequest = googlecloudaiplatformv1uploadmodelrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsUploadCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsUploadCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsUploadCall) Context(ctx context.Context) *ProjectsLocationsModelsUploadCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsUploadCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsUploadCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1uploadmodelrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/models:upload")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.upload", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.upload" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsUploadCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.upload", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a ModelEvaluation.
//
//   - name: The name of the ModelEvaluation resource. Format:
//     `projects/{project}/locations/{location}/models/{model}/evaluations/{evalua
//     tion}`.
func (r *ProjectsLocationsModelsEvaluationsService) Get(name string) *ProjectsLocationsModelsEvaluationsGetCall {
	c := &ProjectsLocationsModelsEvaluationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsEvaluationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsEvaluationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ModelEvaluation.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ModelEvaluation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ModelEvaluation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsImportCall struct {
	s                                                   *Service
	parent                                              string
	googlecloudaiplatformv1importmodelevaluationrequest *GoogleCloudAiplatformV1ImportModelEvaluationRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// Import: Imports an externally generated ModelEvaluation.
//
//   - parent: The name of the parent model resource. Format:
//     `projects/{project}/locations/{location}/models/{model}`.
func (r *ProjectsLocationsModelsEvaluationsService) Import(parent string, googlecloudaiplatformv1importmodelevaluationrequest *GoogleCloudAiplatformV1ImportModelEvaluationRequest) *ProjectsLocationsModelsEvaluationsImportCall {
	c := &ProjectsLocationsModelsEvaluationsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1importmodelevaluationrequest = googlecloudaiplatformv1importmodelevaluationrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsImportCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsImportCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsImportCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsImportCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsImportCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1importmodelevaluationrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluations:import")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.import", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.import" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ModelEvaluation.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsImportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ModelEvaluation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ModelEvaluation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.import", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists ModelEvaluations in a Model.
//
//   - parent: The resource name of the Model to list the ModelEvaluations from.
//     Format: `projects/{project}/locations/{location}/models/{model}`.
func (r *ProjectsLocationsModelsEvaluationsService) List(parent string) *ProjectsLocationsModelsEvaluationsListCall {
	c := &ProjectsLocationsModelsEvaluationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsModelsEvaluationsListCall) Filter(filter string) *ProjectsLocationsModelsEvaluationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelsEvaluationsListCall) PageSize(pageSize int64) *ProjectsLocationsModelsEvaluationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListModelEvaluationsResponse.next_page_token
// of the previous ModelService.ListModelEvaluations call.
func (c *ProjectsLocationsModelsEvaluationsListCall) PageToken(pageToken string) *ProjectsLocationsModelsEvaluationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsModelsEvaluationsListCall) ReadMask(readMask string) *ProjectsLocationsModelsEvaluationsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsEvaluationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsEvaluationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsListCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/evaluations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListModelEvaluationsResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListModelEvaluationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListModelEvaluationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelsEvaluationsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListModelEvaluationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelsEvaluationsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsModelsEvaluationsOperationsService) Cancel(name string) *ProjectsLocationsModelsEvaluationsOperationsCancelCall {
	c := &ProjectsLocationsModelsEvaluationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelsEvaluationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsModelsEvaluationsOperationsService) Delete(name string) *ProjectsLocationsModelsEvaluationsOperationsDeleteCall {
	c := &ProjectsLocationsModelsEvaluationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelsEvaluationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsModelsEvaluationsOperationsService) Get(name string) *ProjectsLocationsModelsEvaluationsOperationsGetCall {
	c := &ProjectsLocationsModelsEvaluationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsEvaluationsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsModelsEvaluationsOperationsService) List(name string) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c := &ProjectsLocationsModelsEvaluationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Filter(filter string) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelsEvaluationsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsModelsEvaluationsOperationsService) Wait(name string) *ProjectsLocationsModelsEvaluationsOperationsWaitCall {
	c := &ProjectsLocationsModelsEvaluationsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsModelsEvaluationsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsModelsEvaluationsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsSlicesBatchImportCall struct {
	s                                                             *Service
	parent                                                        string
	googlecloudaiplatformv1batchimportevaluatedannotationsrequest *GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest
	urlParams_                                                    gensupport.URLParams
	ctx_                                                          context.Context
	header_                                                       http.Header
}

// BatchImport: Imports a list of externally generated EvaluatedAnnotations.
//
//   - parent: The name of the parent ModelEvaluationSlice resource. Format:
//     `projects/{project}/locations/{location}/models/{model}/evaluations/{evalua
//     tion}/slices/{slice}`.
func (r *ProjectsLocationsModelsEvaluationsSlicesService) BatchImport(parent string, googlecloudaiplatformv1batchimportevaluatedannotationsrequest *GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest) *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall {
	c := &ProjectsLocationsModelsEvaluationsSlicesBatchImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchimportevaluatedannotationsrequest = googlecloudaiplatformv1batchimportevaluatedannotationsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchimportevaluatedannotationsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:batchImport")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.slices.batchImport", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.slices.batchImport" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse.ServerRespons
// e.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.slices.batchImport", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsSlicesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a ModelEvaluationSlice.
//
//   - name: The name of the ModelEvaluationSlice resource. Format:
//     `projects/{project}/locations/{location}/models/{model}/evaluations/{evalua
//     tion}/slices/{slice}`.
func (r *ProjectsLocationsModelsEvaluationsSlicesService) Get(name string) *ProjectsLocationsModelsEvaluationsSlicesGetCall {
	c := &ProjectsLocationsModelsEvaluationsSlicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsSlicesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsEvaluationsSlicesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsSlicesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.slices.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.slices.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ModelEvaluationSlice.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ModelEvaluationSlice, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ModelEvaluationSlice{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.slices.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsEvaluationsSlicesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists ModelEvaluationSlices in a ModelEvaluation.
//
//   - parent: The resource name of the ModelEvaluation to list the
//     ModelEvaluationSlices from. Format:
//     `projects/{project}/locations/{location}/models/{model}/evaluations/{evalua
//     tion}`.
func (r *ProjectsLocationsModelsEvaluationsSlicesService) List(parent string) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c := &ProjectsLocationsModelsEvaluationsSlicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. *
// `slice.dimension` - for =.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Filter(filter string) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) PageSize(pageSize int64) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via
// ListModelEvaluationSlicesResponse.next_page_token of the previous
// ModelService.ListModelEvaluationSlices call.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) PageToken(pageToken string) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) ReadMask(readMask string) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/slices")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.slices.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.evaluations.slices.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse.ServerResponse.Head
// er or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.evaluations.slices.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsModelsOperationsService) Cancel(name string) *ProjectsLocationsModelsOperationsCancelCall {
	c := &ProjectsLocationsModelsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsModelsOperationsService) Delete(name string) *ProjectsLocationsModelsOperationsDeleteCall {
	c := &ProjectsLocationsModelsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsModelsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsModelsOperationsService) Get(name string) *ProjectsLocationsModelsOperationsGetCall {
	c := &ProjectsLocationsModelsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsModelsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsModelsOperationsService) List(name string) *ProjectsLocationsModelsOperationsListCall {
	c := &ProjectsLocationsModelsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsModelsOperationsListCall) Filter(filter string) *ProjectsLocationsModelsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsModelsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsModelsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsModelsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsModelsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsModelsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsModelsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsModelsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsModelsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsModelsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsModelsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsModelsOperationsService) Wait(name string) *ProjectsLocationsModelsOperationsWaitCall {
	c := &ProjectsLocationsModelsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsModelsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsModelsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsModelsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsModelsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsModelsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsModelsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.models.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsModelsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.models.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNasJobsCancelCall struct {
	s                                          *Service
	name                                       string
	googlecloudaiplatformv1cancelnasjobrequest *GoogleCloudAiplatformV1CancelNasJobRequest
	urlParams_                                 gensupport.URLParams
	ctx_                                       context.Context
	header_                                    http.Header
}

// Cancel: 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 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 value with a google.rpc.Status.code of
// 1, corresponding to `Code.CANCELLED`, and NasJob.state is set to
// `CANCELLED`.
//
//   - name: The name of the NasJob to cancel. Format:
//     `projects/{project}/locations/{location}/nasJobs/{nas_job}`.
func (r *ProjectsLocationsNasJobsService) Cancel(name string, googlecloudaiplatformv1cancelnasjobrequest *GoogleCloudAiplatformV1CancelNasJobRequest) *ProjectsLocationsNasJobsCancelCall {
	c := &ProjectsLocationsNasJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cancelnasjobrequest = googlecloudaiplatformv1cancelnasjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNasJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNasJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsNasJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNasJobsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNasJobsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cancelnasjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.nasJobs.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNasJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNasJobsCreateCall struct {
	s                             *Service
	parent                        string
	googlecloudaiplatformv1nasjob *GoogleCloudAiplatformV1NasJob
	urlParams_                    gensupport.URLParams
	ctx_                          context.Context
	header_                       http.Header
}

// Create: Creates a NasJob
//
//   - parent: The resource name of the Location to create the NasJob in. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNasJobsService) Create(parent string, googlecloudaiplatformv1nasjob *GoogleCloudAiplatformV1NasJob) *ProjectsLocationsNasJobsCreateCall {
	c := &ProjectsLocationsNasJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1nasjob = googlecloudaiplatformv1nasjob
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNasJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNasJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsNasJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNasJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNasJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1nasjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/nasJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.nasJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1NasJob.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNasJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1NasJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1NasJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNasJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a NasJob.
//
//   - name: The name of the NasJob resource to be deleted. Format:
//     `projects/{project}/locations/{location}/nasJobs/{nas_job}`.
func (r *ProjectsLocationsNasJobsService) Delete(name string) *ProjectsLocationsNasJobsDeleteCall {
	c := &ProjectsLocationsNasJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNasJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNasJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsNasJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNasJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNasJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.nasJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNasJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNasJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a NasJob
//
//   - name: The name of the NasJob resource. Format:
//     `projects/{project}/locations/{location}/nasJobs/{nas_job}`.
func (r *ProjectsLocationsNasJobsService) Get(name string) *ProjectsLocationsNasJobsGetCall {
	c := &ProjectsLocationsNasJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNasJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNasJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNasJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNasJobsGetCall) Context(ctx context.Context) *ProjectsLocationsNasJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNasJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNasJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.nasJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1NasJob.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNasJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1NasJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1NasJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNasJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists NasJobs in a Location.
//
//   - parent: The resource name of the Location to list the NasJobs from.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNasJobsService) List(parent string) *ProjectsLocationsNasJobsListCall {
	c := &ProjectsLocationsNasJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *ProjectsLocationsNasJobsListCall) Filter(filter string) *ProjectsLocationsNasJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNasJobsListCall) PageSize(pageSize int64) *ProjectsLocationsNasJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListNasJobsResponse.next_page_token of the
// previous JobService.ListNasJobs call.
func (c *ProjectsLocationsNasJobsListCall) PageToken(pageToken string) *ProjectsLocationsNasJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsNasJobsListCall) ReadMask(readMask string) *ProjectsLocationsNasJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNasJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNasJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNasJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNasJobsListCall) Context(ctx context.Context) *ProjectsLocationsNasJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNasJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNasJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/nasJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.nasJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListNasJobsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNasJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListNasJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListNasJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNasJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListNasJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNasJobsNasTrialDetailsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a NasTrialDetail.
//
//   - name: The name of the NasTrialDetail resource. Format:
//     `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/
//     {nas_trial_detail}`.
func (r *ProjectsLocationsNasJobsNasTrialDetailsService) Get(name string) *ProjectsLocationsNasJobsNasTrialDetailsGetCall {
	c := &ProjectsLocationsNasJobsNasTrialDetailsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsNasTrialDetailsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNasJobsNasTrialDetailsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) Context(ctx context.Context) *ProjectsLocationsNasJobsNasTrialDetailsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.nasTrialDetails.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.nasJobs.nasTrialDetails.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1NasTrialDetail.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1NasTrialDetail, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1NasTrialDetail{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.nasTrialDetails.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNasJobsNasTrialDetailsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: List top NasTrialDetails of a NasJob.
//
//   - parent: The name of the NasJob resource. Format:
//     `projects/{project}/locations/{location}/nasJobs/{nas_job}`.
func (r *ProjectsLocationsNasJobsNasTrialDetailsService) List(parent string) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c := &ProjectsLocationsNasJobsNasTrialDetailsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) PageSize(pageSize int64) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListNasTrialDetailsResponse.next_page_token of
// the previous JobService.ListNasTrialDetails call.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) PageToken(pageToken string) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) Context(ctx context.Context) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/nasTrialDetails")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.nasTrialDetails.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.nasJobs.nasTrialDetails.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListNasTrialDetailsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListNasTrialDetailsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListNasTrialDetailsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.nasJobs.nasTrialDetails.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListNasTrialDetailsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNotebookExecutionJobsCreateCall struct {
	s                                           *Service
	parent                                      string
	googlecloudaiplatformv1notebookexecutionjob *GoogleCloudAiplatformV1NotebookExecutionJob
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// Create: Creates a NotebookExecutionJob.
//
//   - parent: The resource name of the Location to create the
//     NotebookExecutionJob. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNotebookExecutionJobsService) Create(parent string, googlecloudaiplatformv1notebookexecutionjob *GoogleCloudAiplatformV1NotebookExecutionJob) *ProjectsLocationsNotebookExecutionJobsCreateCall {
	c := &ProjectsLocationsNotebookExecutionJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1notebookexecutionjob = googlecloudaiplatformv1notebookexecutionjob
	return c
}

// NotebookExecutionJobId sets the optional parameter "notebookExecutionJobId":
// User specified ID for the NotebookExecutionJob.
func (c *ProjectsLocationsNotebookExecutionJobsCreateCall) NotebookExecutionJobId(notebookExecutionJobId string) *ProjectsLocationsNotebookExecutionJobsCreateCall {
	c.urlParams_.Set("notebookExecutionJobId", notebookExecutionJobId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1notebookexecutionjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/notebookExecutionJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookExecutionJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookExecutionJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a NotebookExecutionJob.
//
// - name: The name of the NotebookExecutionJob resource to be deleted.
func (r *ProjectsLocationsNotebookExecutionJobsService) Delete(name string) *ProjectsLocationsNotebookExecutionJobsDeleteCall {
	c := &ProjectsLocationsNotebookExecutionJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookExecutionJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookExecutionJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a NotebookExecutionJob.
//
// - name: The name of the NotebookExecutionJob resource.
func (r *ProjectsLocationsNotebookExecutionJobsService) Get(name string) *ProjectsLocationsNotebookExecutionJobsGetCall {
	c := &ProjectsLocationsNotebookExecutionJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// View sets the optional parameter "view": The NotebookExecutionJob view.
// Defaults to BASIC.
//
// Possible values:
//
//	"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED" - When unspecified, the API
//
// defaults to the BASIC view.
//
//	"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC" - Includes all fields except for
//
// direct notebook inputs.
//
//	"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" - Includes all fields.
func (c *ProjectsLocationsNotebookExecutionJobsGetCall) View(view string) *ProjectsLocationsNotebookExecutionJobsGetCall {
	c.urlParams_.Set("view", view)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookExecutionJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookExecutionJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1NotebookExecutionJob.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookExecutionJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1NotebookExecutionJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1NotebookExecutionJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookExecutionJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists NotebookExecutionJobs in a Location.
//
//   - parent: The resource name of the Location from which to list the
//     NotebookExecutionJobs. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNotebookExecutionJobsService) List(parent string) *ProjectsLocationsNotebookExecutionJobsListCall {
	c := &ProjectsLocationsNotebookExecutionJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. For field names both snake_case and camelCase are
// supported. * `notebookExecutionJob` supports = and !=.
// `notebookExecutionJob` represents the NotebookExecutionJob ID. *
// `displayName` supports = and != and regex. * `schedule` supports = and !=
// and regex. Some examples: * `notebookExecutionJob="123" *
// `notebookExecutionJob="my-execution-job" * `displayName="myDisplayName"
// and `displayName=~"myDisplayNameRegex"
func (c *ProjectsLocationsNotebookExecutionJobsListCall) Filter(filter string) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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` Example: `display_name, create_time desc`.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) OrderBy(orderBy string) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) PageSize(pageSize int64) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via
// ListNotebookExecutionJobsResponse.next_page_token of the previous
// NotebookService.ListNotebookExecutionJobs call.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) PageToken(pageToken string) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// View sets the optional parameter "view": The NotebookExecutionJob view.
// Defaults to BASIC.
//
// Possible values:
//
//	"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED" - When unspecified, the API
//
// defaults to the BASIC view.
//
//	"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC" - Includes all fields except for
//
// direct notebook inputs.
//
//	"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" - Includes all fields.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) View(view string) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.urlParams_.Set("view", view)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/notebookExecutionJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse.ServerResponse.Head
// er or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNotebookExecutionJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNotebookExecutionJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsNotebookExecutionJobsOperationsService) Cancel(name string) *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall {
	c := &ProjectsLocationsNotebookExecutionJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsNotebookExecutionJobsOperationsService) Delete(name string) *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall {
	c := &ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookExecutionJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsNotebookExecutionJobsOperationsService) Get(name string) *ProjectsLocationsNotebookExecutionJobsOperationsGetCall {
	c := &ProjectsLocationsNotebookExecutionJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookExecutionJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookExecutionJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsNotebookExecutionJobsOperationsService) List(name string) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c := &ProjectsLocationsNotebookExecutionJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) Filter(filter string) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNotebookExecutionJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsNotebookExecutionJobsOperationsService) Wait(name string) *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall {
	c := &ProjectsLocationsNotebookExecutionJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookExecutionJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookExecutionJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookExecutionJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesCreateCall struct {
	s                                              *Service
	parent                                         string
	googlecloudaiplatformv1notebookruntimetemplate *GoogleCloudAiplatformV1NotebookRuntimeTemplate
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// Create: Creates a NotebookRuntimeTemplate.
//
//   - parent: The resource name of the Location to create the
//     NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) Create(parent string, googlecloudaiplatformv1notebookruntimetemplate *GoogleCloudAiplatformV1NotebookRuntimeTemplate) *ProjectsLocationsNotebookRuntimeTemplatesCreateCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1notebookruntimetemplate = googlecloudaiplatformv1notebookruntimetemplate
	return c
}

// NotebookRuntimeTemplateId sets the optional parameter
// "notebookRuntimeTemplateId": User specified ID for the notebook runtime
// template.
func (c *ProjectsLocationsNotebookRuntimeTemplatesCreateCall) NotebookRuntimeTemplateId(notebookRuntimeTemplateId string) *ProjectsLocationsNotebookRuntimeTemplatesCreateCall {
	c.urlParams_.Set("notebookRuntimeTemplateId", notebookRuntimeTemplateId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1notebookruntimetemplate)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/notebookRuntimeTemplates")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a NotebookRuntimeTemplate.
//
//   - name: The name of the NotebookRuntimeTemplate resource to be deleted.
//     Format:
//     `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook
//     _runtime_template}`.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) Delete(name string) *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a NotebookRuntimeTemplate.
//
//   - name: The name of the NotebookRuntimeTemplate resource. Format:
//     `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook
//     _runtime_template}`.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) Get(name string) *ProjectsLocationsNotebookRuntimeTemplatesGetCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimeTemplatesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1NotebookRuntimeTemplate.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1NotebookRuntimeTemplate, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1NotebookRuntimeTemplate{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) GetIamPolicy(resource string) *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists NotebookRuntimeTemplates in a Location.
//
//   - parent: The resource name of the Location from which to list the
//     NotebookRuntimeTemplates. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) List(parent string) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. For field names both snake_case and camelCase are
// supported. * `notebookRuntimeTemplate` supports = and !=.
// `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e.
// the last segment of the NotebookRuntimeTemplate's resource 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". * `notebookRuntimeType` supports = and !=.
// notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType`
// supports = and !=. * `acceleratorType` supports = and !=. Some examples: *
// `notebookRuntimeTemplate=notebookRuntimeTemplate123` *
// `displayName="myDisplayName" * `labels.myKey="myValue" *
// `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` *
// `acceleratorType=NVIDIA_TESLA_T4`
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Filter(filter string) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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` Example: `display_name, create_time desc`.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) OrderBy(orderBy string) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) PageSize(pageSize int64) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via
// ListNotebookRuntimeTemplatesResponse.next_page_token of the previous
// NotebookService.ListNotebookRuntimeTemplates call.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) PageToken(pageToken string) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) ReadMask(readMask string) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/notebookRuntimeTemplates")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse.ServerResponse.H
// eader or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNotebookRuntimeTemplatesPatchCall struct {
	s                                              *Service
	name                                           string
	googlecloudaiplatformv1notebookruntimetemplate *GoogleCloudAiplatformV1NotebookRuntimeTemplate
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// Patch: Updates a NotebookRuntimeTemplate.
//
// - name: The resource name of the NotebookRuntimeTemplate.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) Patch(name string, googlecloudaiplatformv1notebookruntimetemplate *GoogleCloudAiplatformV1NotebookRuntimeTemplate) *ProjectsLocationsNotebookRuntimeTemplatesPatchCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1notebookruntimetemplate = googlecloudaiplatformv1notebookruntimetemplate
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. For the `FieldMask` definition, see
// google.protobuf.FieldMask. Input format: `{paths: "${updated_field}"}`
// Updatable fields: * `encryption_spec.kms_key_name` * `display_name` *
// `software_config.post_startup_script_config.post_startup_script` *
// `software_config.post_startup_script_config.post_startup_script_url` *
// `software_config.post_startup_script_config.post_startup_script_behavior` *
// `software_config.env` * `software_config.colab_image.release_name` *
// `software_config.custom_container_config.image_uri`
func (c *ProjectsLocationsNotebookRuntimeTemplatesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsNotebookRuntimeTemplatesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesPatchCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1notebookruntimetemplate)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1NotebookRuntimeTemplate.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1NotebookRuntimeTemplate, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1NotebookRuntimeTemplate{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsNotebookRuntimeTemplatesService) TestIamPermissions(resource string) *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsNotebookRuntimeTemplatesOperationsService) Cancel(name string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsNotebookRuntimeTemplatesOperationsService) Delete(name string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsNotebookRuntimeTemplatesOperationsService) Get(name string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsNotebookRuntimeTemplatesOperationsService) List(name string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) Filter(filter string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsNotebookRuntimeTemplatesOperationsService) Wait(name string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall {
	c := &ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimeTemplatesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesAssignCall struct {
	s                                                   *Service
	parent                                              string
	googlecloudaiplatformv1assignnotebookruntimerequest *GoogleCloudAiplatformV1AssignNotebookRuntimeRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// Assign: Assigns a NotebookRuntime to a user for a particular Notebook file.
// This method will either returns an existing assignment or generates a new
// one.
//
//   - parent: The resource name of the Location to get the NotebookRuntime
//     assignment. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNotebookRuntimesService) Assign(parent string, googlecloudaiplatformv1assignnotebookruntimerequest *GoogleCloudAiplatformV1AssignNotebookRuntimeRequest) *ProjectsLocationsNotebookRuntimesAssignCall {
	c := &ProjectsLocationsNotebookRuntimesAssignCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1assignnotebookruntimerequest = googlecloudaiplatformv1assignnotebookruntimerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesAssignCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesAssignCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesAssignCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesAssignCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesAssignCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesAssignCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1assignnotebookruntimerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/notebookRuntimes:assign")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.assign", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.assign" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesAssignCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.assign", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a NotebookRuntime.
//
//   - name: The name of the NotebookRuntime resource to be deleted. Instead of
//     checking whether the name is in valid NotebookRuntime resource name
//     format, directly throw NotFound exception if there is no such
//     NotebookRuntime in spanner.
func (r *ProjectsLocationsNotebookRuntimesService) Delete(name string) *ProjectsLocationsNotebookRuntimesDeleteCall {
	c := &ProjectsLocationsNotebookRuntimesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a NotebookRuntime.
//
//   - name: The name of the NotebookRuntime resource. Instead of checking
//     whether the name is in valid NotebookRuntime resource name format,
//     directly throw NotFound exception if there is no such NotebookRuntime in
//     spanner.
func (r *ProjectsLocationsNotebookRuntimesService) Get(name string) *ProjectsLocationsNotebookRuntimesGetCall {
	c := &ProjectsLocationsNotebookRuntimesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1NotebookRuntime.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1NotebookRuntime, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1NotebookRuntime{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists NotebookRuntimes in a Location.
//
//   - parent: The resource name of the Location from which to list the
//     NotebookRuntimes. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsNotebookRuntimesService) List(parent string) *ProjectsLocationsNotebookRuntimesListCall {
	c := &ProjectsLocationsNotebookRuntimesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. For field names both snake_case and camelCase are
// supported. * `notebookRuntime` supports = and !=. `notebookRuntime`
// represents the NotebookRuntime ID, i.e. the last segment of the
// NotebookRuntime's resource name. * `displayName` supports = and != and
// regex. * `notebookRuntimeTemplate` supports = and !=.
// `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e.
// the last segment of the NotebookRuntimeTemplate's resource name. *
// `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY,
// HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState
// enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED,
// STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=.
// * API version is UI only: `uiState` supports = and !=. uiState enum:
// [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED,
// UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED,
// UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and
// !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType`
// supports = and !=. * `acceleratorType` supports = and !=. Some examples: *
// `notebookRuntime="notebookRuntime123" * `displayName="myDisplayName" and
// `displayName=~"myDisplayNameRegex" *
// `notebookRuntimeTemplate="notebookRuntimeTemplate321" *
// `healthState=HEALTHY` * `runtimeState=RUNNING` *
// `runtimeUser="test@google.com" * `uiState=UI_RESOURCE_STATE_BEING_DELETED`
// * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` *
// `acceleratorType=NVIDIA_TESLA_T4`
func (c *ProjectsLocationsNotebookRuntimesListCall) Filter(filter string) *ProjectsLocationsNotebookRuntimesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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` Example: `display_name, create_time desc`.
func (c *ProjectsLocationsNotebookRuntimesListCall) OrderBy(orderBy string) *ProjectsLocationsNotebookRuntimesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNotebookRuntimesListCall) PageSize(pageSize int64) *ProjectsLocationsNotebookRuntimesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListNotebookRuntimesResponse.next_page_token
// of the previous NotebookService.ListNotebookRuntimes call.
func (c *ProjectsLocationsNotebookRuntimesListCall) PageToken(pageToken string) *ProjectsLocationsNotebookRuntimesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsNotebookRuntimesListCall) ReadMask(readMask string) *ProjectsLocationsNotebookRuntimesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesListCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/notebookRuntimes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListNotebookRuntimesResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListNotebookRuntimesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListNotebookRuntimesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNotebookRuntimesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListNotebookRuntimesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNotebookRuntimesStartCall struct {
	s                                                  *Service
	name                                               string
	googlecloudaiplatformv1startnotebookruntimerequest *GoogleCloudAiplatformV1StartNotebookRuntimeRequest
	urlParams_                                         gensupport.URLParams
	ctx_                                               context.Context
	header_                                            http.Header
}

// Start: Starts a NotebookRuntime.
//
//   - name: The name of the NotebookRuntime resource to be started. Instead of
//     checking whether the name is in valid NotebookRuntime resource name
//     format, directly throw NotFound exception if there is no such
//     NotebookRuntime in spanner.
func (r *ProjectsLocationsNotebookRuntimesService) Start(name string, googlecloudaiplatformv1startnotebookruntimerequest *GoogleCloudAiplatformV1StartNotebookRuntimeRequest) *ProjectsLocationsNotebookRuntimesStartCall {
	c := &ProjectsLocationsNotebookRuntimesStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1startnotebookruntimerequest = googlecloudaiplatformv1startnotebookruntimerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesStartCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesStartCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesStartCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesStartCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesStartCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1startnotebookruntimerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:start")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.start", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.start" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesStartCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.start", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesStopCall struct {
	s                                                 *Service
	name                                              string
	googlecloudaiplatformv1stopnotebookruntimerequest *GoogleCloudAiplatformV1StopNotebookRuntimeRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// Stop: Stops a NotebookRuntime.
//
//   - name: The name of the NotebookRuntime resource to be stopped. Instead of
//     checking whether the name is in valid NotebookRuntime resource name
//     format, directly throw NotFound exception if there is no such
//     NotebookRuntime in spanner.
func (r *ProjectsLocationsNotebookRuntimesService) Stop(name string, googlecloudaiplatformv1stopnotebookruntimerequest *GoogleCloudAiplatformV1StopNotebookRuntimeRequest) *ProjectsLocationsNotebookRuntimesStopCall {
	c := &ProjectsLocationsNotebookRuntimesStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1stopnotebookruntimerequest = googlecloudaiplatformv1stopnotebookruntimerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesStopCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesStopCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesStopCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesStopCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesStopCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1stopnotebookruntimerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.stop", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.stop" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesStopCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.stop", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesUpgradeCall struct {
	s                                                    *Service
	name                                                 string
	googlecloudaiplatformv1upgradenotebookruntimerequest *GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest
	urlParams_                                           gensupport.URLParams
	ctx_                                                 context.Context
	header_                                              http.Header
}

// Upgrade: Upgrades a NotebookRuntime.
//
//   - name: The name of the NotebookRuntime resource to be upgrade. Instead of
//     checking whether the name is in valid NotebookRuntime resource name
//     format, directly throw NotFound exception if there is no such
//     NotebookRuntime in spanner.
func (r *ProjectsLocationsNotebookRuntimesService) Upgrade(name string, googlecloudaiplatformv1upgradenotebookruntimerequest *GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest) *ProjectsLocationsNotebookRuntimesUpgradeCall {
	c := &ProjectsLocationsNotebookRuntimesUpgradeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1upgradenotebookruntimerequest = googlecloudaiplatformv1upgradenotebookruntimerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesUpgradeCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesUpgradeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesUpgradeCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesUpgradeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesUpgradeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesUpgradeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1upgradenotebookruntimerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:upgrade")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.upgrade", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.upgrade" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesUpgradeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.upgrade", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsNotebookRuntimesOperationsService) Cancel(name string) *ProjectsLocationsNotebookRuntimesOperationsCancelCall {
	c := &ProjectsLocationsNotebookRuntimesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookRuntimesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsNotebookRuntimesOperationsService) Delete(name string) *ProjectsLocationsNotebookRuntimesOperationsDeleteCall {
	c := &ProjectsLocationsNotebookRuntimesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsNotebookRuntimesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsNotebookRuntimesOperationsService) Get(name string) *ProjectsLocationsNotebookRuntimesOperationsGetCall {
	c := &ProjectsLocationsNotebookRuntimesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsNotebookRuntimesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsNotebookRuntimesOperationsService) List(name string) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c := &ProjectsLocationsNotebookRuntimesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) Filter(filter string) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsNotebookRuntimesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsNotebookRuntimesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsNotebookRuntimesOperationsService) Wait(name string) *ProjectsLocationsNotebookRuntimesOperationsWaitCall {
	c := &ProjectsLocationsNotebookRuntimesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsNotebookRuntimesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsNotebookRuntimesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsNotebookRuntimesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsNotebookRuntimesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsNotebookRuntimesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsNotebookRuntimesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.notebookRuntimes.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsNotebookRuntimesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.notebookRuntimes.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsOperationsService) Wait(name string) *ProjectsLocationsOperationsWaitCall {
	c := &ProjectsLocationsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesCreateCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1persistentresource *GoogleCloudAiplatformV1PersistentResource
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Create: Creates a PersistentResource.
//
//   - parent: The resource name of the Location to create the PersistentResource
//     in. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsPersistentResourcesService) Create(parent string, googlecloudaiplatformv1persistentresource *GoogleCloudAiplatformV1PersistentResource) *ProjectsLocationsPersistentResourcesCreateCall {
	c := &ProjectsLocationsPersistentResourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1persistentresource = googlecloudaiplatformv1persistentresource
	return c
}

// PersistentResourceId sets the optional parameter "persistentResourceId":
// 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])?$/`.
func (c *ProjectsLocationsPersistentResourcesCreateCall) PersistentResourceId(persistentResourceId string) *ProjectsLocationsPersistentResourcesCreateCall {
	c.urlParams_.Set("persistentResourceId", persistentResourceId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesCreateCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1persistentresource)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/persistentResources")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a PersistentResource.
//
//   - name: The name of the PersistentResource to be deleted. Format:
//     `projects/{project}/locations/{location}/persistentResources/{persistent_re
//     source}`.
func (r *ProjectsLocationsPersistentResourcesService) Delete(name string) *ProjectsLocationsPersistentResourcesDeleteCall {
	c := &ProjectsLocationsPersistentResourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesDeleteCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a PersistentResource.
//
//   - name: The name of the PersistentResource resource. Format:
//     `projects/{project_id_or_number}/locations/{location_id}/persistentResource
//     s/{persistent_resource_id}`.
func (r *ProjectsLocationsPersistentResourcesService) Get(name string) *ProjectsLocationsPersistentResourcesGetCall {
	c := &ProjectsLocationsPersistentResourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPersistentResourcesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsPersistentResourcesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesGetCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PersistentResource.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PersistentResource, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PersistentResource{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists PersistentResources in a Location.
//
//   - parent: The resource name of the Location to list the PersistentResources
//     from. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsPersistentResourcesService) List(parent string) *ProjectsLocationsPersistentResourcesListCall {
	c := &ProjectsLocationsPersistentResourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsPersistentResourcesListCall) PageSize(pageSize int64) *ProjectsLocationsPersistentResourcesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via
// ListPersistentResourcesResponse.next_page_token of the previous
// PersistentResourceService.ListPersistentResource call.
func (c *ProjectsLocationsPersistentResourcesListCall) PageToken(pageToken string) *ProjectsLocationsPersistentResourcesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPersistentResourcesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsPersistentResourcesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesListCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/persistentResources")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListPersistentResourcesResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListPersistentResourcesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListPersistentResourcesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsPersistentResourcesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListPersistentResourcesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsPersistentResourcesPatchCall struct {
	s                                         *Service
	name                                      string
	googlecloudaiplatformv1persistentresource *GoogleCloudAiplatformV1PersistentResource
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Patch: Updates a PersistentResource.
//
// - name: Immutable. Resource name of a PersistentResource.
func (r *ProjectsLocationsPersistentResourcesService) Patch(name string, googlecloudaiplatformv1persistentresource *GoogleCloudAiplatformV1PersistentResource) *ProjectsLocationsPersistentResourcesPatchCall {
	c := &ProjectsLocationsPersistentResourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1persistentresource = googlecloudaiplatformv1persistentresource
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. Specify the
// fields to be overwritten in the PersistentResource by the update method.
func (c *ProjectsLocationsPersistentResourcesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsPersistentResourcesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesPatchCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1persistentresource)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesRebootCall struct {
	s                                                      *Service
	name                                                   string
	googlecloudaiplatformv1rebootpersistentresourcerequest *GoogleCloudAiplatformV1RebootPersistentResourceRequest
	urlParams_                                             gensupport.URLParams
	ctx_                                                   context.Context
	header_                                                http.Header
}

// Reboot: Reboots a PersistentResource.
//
//   - name: The name of the PersistentResource resource. Format:
//     `projects/{project_id_or_number}/locations/{location_id}/persistentResource
//     s/{persistent_resource_id}`.
func (r *ProjectsLocationsPersistentResourcesService) Reboot(name string, googlecloudaiplatformv1rebootpersistentresourcerequest *GoogleCloudAiplatformV1RebootPersistentResourceRequest) *ProjectsLocationsPersistentResourcesRebootCall {
	c := &ProjectsLocationsPersistentResourcesRebootCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1rebootpersistentresourcerequest = googlecloudaiplatformv1rebootpersistentresourcerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesRebootCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesRebootCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesRebootCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesRebootCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesRebootCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesRebootCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1rebootpersistentresourcerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:reboot")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.reboot", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.reboot" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesRebootCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.reboot", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsPersistentResourcesOperationsService) Cancel(name string) *ProjectsLocationsPersistentResourcesOperationsCancelCall {
	c := &ProjectsLocationsPersistentResourcesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPersistentResourcesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsPersistentResourcesOperationsService) Delete(name string) *ProjectsLocationsPersistentResourcesOperationsDeleteCall {
	c := &ProjectsLocationsPersistentResourcesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPersistentResourcesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsPersistentResourcesOperationsService) Get(name string) *ProjectsLocationsPersistentResourcesOperationsGetCall {
	c := &ProjectsLocationsPersistentResourcesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPersistentResourcesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsPersistentResourcesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPersistentResourcesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsPersistentResourcesOperationsService) List(name string) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c := &ProjectsLocationsPersistentResourcesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) Filter(filter string) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsPersistentResourcesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsPersistentResourcesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsPersistentResourcesOperationsService) Wait(name string) *ProjectsLocationsPersistentResourcesOperationsWaitCall {
	c := &ProjectsLocationsPersistentResourcesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsPersistentResourcesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsPersistentResourcesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPersistentResourcesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsPersistentResourcesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPersistentResourcesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsPersistentResourcesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPersistentResourcesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPersistentResourcesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.persistentResources.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPersistentResourcesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.persistentResources.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsBatchCancelCall struct {
	s                                                     *Service
	parent                                                string
	googlecloudaiplatformv1batchcancelpipelinejobsrequest *GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest
	urlParams_                                            gensupport.URLParams
	ctx_                                                  context.Context
	header_                                               http.Header
}

// BatchCancel: 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.
//
//   - parent: The name of the PipelineJobs' parent resource. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsPipelineJobsService) BatchCancel(parent string, googlecloudaiplatformv1batchcancelpipelinejobsrequest *GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest) *ProjectsLocationsPipelineJobsBatchCancelCall {
	c := &ProjectsLocationsPipelineJobsBatchCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchcancelpipelinejobsrequest = googlecloudaiplatformv1batchcancelpipelinejobsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsBatchCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsBatchCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsBatchCancelCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsBatchCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsBatchCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsBatchCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchcancelpipelinejobsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/pipelineJobs:batchCancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.batchCancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.batchCancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsBatchCancelCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.batchCancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsBatchDeleteCall struct {
	s                                                     *Service
	parent                                                string
	googlecloudaiplatformv1batchdeletepipelinejobsrequest *GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest
	urlParams_                                            gensupport.URLParams
	ctx_                                                  context.Context
	header_                                               http.Header
}

// BatchDelete: 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.
//
//   - parent: The name of the PipelineJobs' parent resource. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsPipelineJobsService) BatchDelete(parent string, googlecloudaiplatformv1batchdeletepipelinejobsrequest *GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest) *ProjectsLocationsPipelineJobsBatchDeleteCall {
	c := &ProjectsLocationsPipelineJobsBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchdeletepipelinejobsrequest = googlecloudaiplatformv1batchdeletepipelinejobsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsBatchDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsBatchDeleteCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsBatchDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsBatchDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchdeletepipelinejobsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/pipelineJobs:batchDelete")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.batchDelete", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.batchDelete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsBatchDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.batchDelete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsCancelCall struct {
	s                                               *Service
	name                                            string
	googlecloudaiplatformv1cancelpipelinejobrequest *GoogleCloudAiplatformV1CancelPipelineJobRequest
	urlParams_                                      gensupport.URLParams
	ctx_                                            context.Context
	header_                                         http.Header
}

// Cancel: 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 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 value with a google.rpc.Status.code of 1, corresponding to
// `Code.CANCELLED`, and PipelineJob.state is set to `CANCELLED`.
//
//   - name: The name of the PipelineJob to cancel. Format:
//     `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.
func (r *ProjectsLocationsPipelineJobsService) Cancel(name string, googlecloudaiplatformv1cancelpipelinejobrequest *GoogleCloudAiplatformV1CancelPipelineJobRequest) *ProjectsLocationsPipelineJobsCancelCall {
	c := &ProjectsLocationsPipelineJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1cancelpipelinejobrequest = googlecloudaiplatformv1cancelpipelinejobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1cancelpipelinejobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPipelineJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsCreateCall struct {
	s                                  *Service
	parent                             string
	googlecloudaiplatformv1pipelinejob *GoogleCloudAiplatformV1PipelineJob
	urlParams_                         gensupport.URLParams
	ctx_                               context.Context
	header_                            http.Header
}

// Create: Creates a PipelineJob. A PipelineJob will run immediately when
// created.
//
//   - parent: The resource name of the Location to create the PipelineJob in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsPipelineJobsService) Create(parent string, googlecloudaiplatformv1pipelinejob *GoogleCloudAiplatformV1PipelineJob) *ProjectsLocationsPipelineJobsCreateCall {
	c := &ProjectsLocationsPipelineJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1pipelinejob = googlecloudaiplatformv1pipelinejob
	return c
}

// PipelineJobId sets the optional parameter "pipelineJobId": 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-/`.
func (c *ProjectsLocationsPipelineJobsCreateCall) PipelineJobId(pipelineJobId string) *ProjectsLocationsPipelineJobsCreateCall {
	c.urlParams_.Set("pipelineJobId", pipelineJobId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1pipelinejob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/pipelineJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PipelineJob.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PipelineJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PipelineJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a PipelineJob.
//
//   - name: The name of the PipelineJob resource to be deleted. Format:
//     `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.
func (r *ProjectsLocationsPipelineJobsService) Delete(name string) *ProjectsLocationsPipelineJobsDeleteCall {
	c := &ProjectsLocationsPipelineJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a PipelineJob.
//
//   - name: The name of the PipelineJob resource. Format:
//     `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.
func (r *ProjectsLocationsPipelineJobsService) Get(name string) *ProjectsLocationsPipelineJobsGetCall {
	c := &ProjectsLocationsPipelineJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPipelineJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsPipelineJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsGetCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PipelineJob.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PipelineJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PipelineJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists PipelineJobs in a Location.
//
//   - parent: The resource name of the Location to list the PipelineJobs from.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsPipelineJobsService) List(parent string) *ProjectsLocationsPipelineJobsListCall {
	c := &ProjectsLocationsPipelineJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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".
func (c *ProjectsLocationsPipelineJobsListCall) Filter(filter string) *ProjectsLocationsPipelineJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsPipelineJobsListCall) OrderBy(orderBy string) *ProjectsLocationsPipelineJobsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsPipelineJobsListCall) PageSize(pageSize int64) *ProjectsLocationsPipelineJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListPipelineJobsResponse.next_page_token of
// the previous PipelineService.ListPipelineJobs call.
func (c *ProjectsLocationsPipelineJobsListCall) PageToken(pageToken string) *ProjectsLocationsPipelineJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsPipelineJobsListCall) ReadMask(readMask string) *ProjectsLocationsPipelineJobsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPipelineJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsPipelineJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsListCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/pipelineJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListPipelineJobsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListPipelineJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListPipelineJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsPipelineJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListPipelineJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsPipelineJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsPipelineJobsOperationsService) Cancel(name string) *ProjectsLocationsPipelineJobsOperationsCancelCall {
	c := &ProjectsLocationsPipelineJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPipelineJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsPipelineJobsOperationsService) Delete(name string) *ProjectsLocationsPipelineJobsOperationsDeleteCall {
	c := &ProjectsLocationsPipelineJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPipelineJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsPipelineJobsOperationsService) Get(name string) *ProjectsLocationsPipelineJobsOperationsGetCall {
	c := &ProjectsLocationsPipelineJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPipelineJobsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsPipelineJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPipelineJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsPipelineJobsOperationsService) List(name string) *ProjectsLocationsPipelineJobsOperationsListCall {
	c := &ProjectsLocationsPipelineJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Filter(filter string) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsPipelineJobsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsPipelineJobsOperationsService) Wait(name string) *ProjectsLocationsPipelineJobsOperationsWaitCall {
	c := &ProjectsLocationsPipelineJobsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsPipelineJobsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsPipelineJobsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPipelineJobsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPipelineJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPipelineJobsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPipelineJobsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.pipelineJobs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPipelineJobsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.pipelineJobs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsComputeTokensCall struct {
	s                                           *Service
	endpoint                                    string
	googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// ComputeTokens: Return a list of tokens based on the input text.
//
//   - endpoint: The name of the Endpoint requested to get lists of tokens and
//     token ids.
func (r *ProjectsLocationsPublishersModelsService) ComputeTokens(endpoint string, googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest) *ProjectsLocationsPublishersModelsComputeTokensCall {
	c := &ProjectsLocationsPublishersModelsComputeTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1computetokensrequest = googlecloudaiplatformv1computetokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsComputeTokensCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsComputeTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsComputeTokensCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsComputeTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsComputeTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsComputeTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1computetokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:computeTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.computeTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.computeTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ComputeTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsComputeTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ComputeTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ComputeTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.computeTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsCountTokensCall struct {
	s                                         *Service
	endpoint                                  string
	googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// CountTokens: Perform a token counting.
//
//   - endpoint: The name of the Endpoint requested to perform token counting.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsPublishersModelsService) CountTokens(endpoint string, googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest) *ProjectsLocationsPublishersModelsCountTokensCall {
	c := &ProjectsLocationsPublishersModelsCountTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1counttokensrequest = googlecloudaiplatformv1counttokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsCountTokensCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsCountTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsCountTokensCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsCountTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsCountTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsCountTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1counttokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:countTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.countTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.countTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CountTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsCountTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CountTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CountTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.countTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsEmbedContentCall struct {
	s                                          *Service
	model                                      string
	googlecloudaiplatformv1embedcontentrequest *GoogleCloudAiplatformV1EmbedContentRequest
	urlParams_                                 gensupport.URLParams
	ctx_                                       context.Context
	header_                                    http.Header
}

// EmbedContent: Embed content with multimodal inputs.
//
//   - model: The name of the publisher model requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/publishers/*/models/*`.
func (r *ProjectsLocationsPublishersModelsService) EmbedContent(model string, googlecloudaiplatformv1embedcontentrequest *GoogleCloudAiplatformV1EmbedContentRequest) *ProjectsLocationsPublishersModelsEmbedContentCall {
	c := &ProjectsLocationsPublishersModelsEmbedContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1embedcontentrequest = googlecloudaiplatformv1embedcontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsEmbedContentCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsEmbedContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsEmbedContentCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsEmbedContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsEmbedContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsEmbedContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1embedcontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:embedContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.embedContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.embedContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EmbedContentResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsEmbedContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EmbedContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EmbedContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.embedContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsFetchPredictOperationCall struct {
	s                                                   *Service
	endpoint                                            string
	googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// FetchPredictOperation: Fetch an asynchronous online prediction operation.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *ProjectsLocationsPublishersModelsService) FetchPredictOperation(endpoint string, googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest) *ProjectsLocationsPublishersModelsFetchPredictOperationCall {
	c := &ProjectsLocationsPublishersModelsFetchPredictOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1fetchpredictoperationrequest = googlecloudaiplatformv1fetchpredictoperationrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsFetchPredictOperationCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsFetchPredictOperationCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsFetchPredictOperationCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsFetchPredictOperationCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsFetchPredictOperationCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsFetchPredictOperationCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1fetchpredictoperationrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:fetchPredictOperation")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.fetchPredictOperation", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.fetchPredictOperation" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsFetchPredictOperationCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.fetchPredictOperation", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// GenerateContent: Generate content with multimodal inputs.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsPublishersModelsService) GenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *ProjectsLocationsPublishersModelsGenerateContentCall {
	c := &ProjectsLocationsPublishersModelsGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsGenerateContentCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsGenerateContentCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:generateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.generateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.generateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.generateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsPredictCall struct {
	s                                     *Service
	endpoint                              string
	googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Predict:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsPublishersModelsService) Predict(endpoint string, googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest) *ProjectsLocationsPublishersModelsPredictCall {
	c := &ProjectsLocationsPublishersModelsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictrequest = googlecloudaiplatformv1predictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsPredictCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.predict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.predict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PredictResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.predict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsPredictLongRunningCall struct {
	s                                                *Service
	endpoint                                         string
	googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// PredictLongRunning:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *ProjectsLocationsPublishersModelsService) PredictLongRunning(endpoint string, googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest) *ProjectsLocationsPublishersModelsPredictLongRunningCall {
	c := &ProjectsLocationsPublishersModelsPredictLongRunningCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictlongrunningrequest = googlecloudaiplatformv1predictlongrunningrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsPredictLongRunningCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsPredictLongRunningCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsPredictLongRunningCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsPredictLongRunningCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsPredictLongRunningCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsPredictLongRunningCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictlongrunningrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predictLongRunning")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.predictLongRunning", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.predictLongRunning" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsPredictLongRunningCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.predictLongRunning", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsRawPredictCall struct {
	s                                        *Service
	endpoint                                 string
	googlecloudaiplatformv1rawpredictrequest *GoogleCloudAiplatformV1RawPredictRequest
	urlParams_                               gensupport.URLParams
	ctx_                                     context.Context
	header_                                  http.Header
}

// RawPredict: 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 that served this prediction. *
// `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that
// served this prediction.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsPublishersModelsService) RawPredict(endpoint string, googlecloudaiplatformv1rawpredictrequest *GoogleCloudAiplatformV1RawPredictRequest) *ProjectsLocationsPublishersModelsRawPredictCall {
	c := &ProjectsLocationsPublishersModelsRawPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1rawpredictrequest = googlecloudaiplatformv1rawpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsRawPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsRawPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsRawPredictCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsRawPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsRawPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsRawPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1rawpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:rawPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.rawPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.rawPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPublishersModelsRawPredictCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.rawPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsServerStreamingPredictCall struct {
	s                                              *Service
	endpoint                                       string
	googlecloudaiplatformv1streamingpredictrequest *GoogleCloudAiplatformV1StreamingPredictRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// ServerStreamingPredict: Perform a server-side streaming online prediction
// request for Vertex LLM streaming.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsPublishersModelsService) ServerStreamingPredict(endpoint string, googlecloudaiplatformv1streamingpredictrequest *GoogleCloudAiplatformV1StreamingPredictRequest) *ProjectsLocationsPublishersModelsServerStreamingPredictCall {
	c := &ProjectsLocationsPublishersModelsServerStreamingPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1streamingpredictrequest = googlecloudaiplatformv1streamingpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsServerStreamingPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsServerStreamingPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsServerStreamingPredictCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsServerStreamingPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsServerStreamingPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsServerStreamingPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamingpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:serverStreamingPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.serverStreamingPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.serverStreamingPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1StreamingPredictResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsServerStreamingPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1StreamingPredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1StreamingPredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.serverStreamingPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsStreamGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// StreamGenerateContent: Generate content with multimodal inputs with
// streaming support.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *ProjectsLocationsPublishersModelsService) StreamGenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *ProjectsLocationsPublishersModelsStreamGenerateContentCall {
	c := &ProjectsLocationsPublishersModelsStreamGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsStreamGenerateContentCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsStreamGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsStreamGenerateContentCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsStreamGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsStreamGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsStreamGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:streamGenerateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.streamGenerateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.streamGenerateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPublishersModelsStreamGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.streamGenerateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsStreamRawPredictCall struct {
	s                                              *Service
	endpoint                                       string
	googlecloudaiplatformv1streamrawpredictrequest *GoogleCloudAiplatformV1StreamRawPredictRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// StreamRawPredict: Perform a streaming online prediction with an arbitrary
// HTTP payload.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *ProjectsLocationsPublishersModelsService) StreamRawPredict(endpoint string, googlecloudaiplatformv1streamrawpredictrequest *GoogleCloudAiplatformV1StreamRawPredictRequest) *ProjectsLocationsPublishersModelsStreamRawPredictCall {
	c := &ProjectsLocationsPublishersModelsStreamRawPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1streamrawpredictrequest = googlecloudaiplatformv1streamrawpredictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsStreamRawPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsStreamRawPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsStreamRawPredictCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsStreamRawPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsStreamRawPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsStreamRawPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamrawpredictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:streamRawPredict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.streamRawPredict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.streamRawPredict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPublishersModelsStreamRawPredictCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.streamRawPredict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPublishersModelsInvokeInvokeCall struct {
	s                                    *Service
	endpoint                             string
	invokeId                             string
	googlecloudaiplatformv1invokerequest *GoogleCloudAiplatformV1InvokeRequest
	urlParams_                           gensupport.URLParams
	ctx_                                 context.Context
	header_                              http.Header
}

// Invoke: Forwards arbitrary HTTP requests for both streaming and
// non-streaming cases. To use this method, invoke_route_prefix must be set to
// allow the paths that will be specified in the request.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
//   - invokeId: .
func (r *ProjectsLocationsPublishersModelsInvokeService) Invoke(endpoint string, invokeId string, googlecloudaiplatformv1invokerequest *GoogleCloudAiplatformV1InvokeRequest) *ProjectsLocationsPublishersModelsInvokeInvokeCall {
	c := &ProjectsLocationsPublishersModelsInvokeInvokeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.invokeId = invokeId
	c.googlecloudaiplatformv1invokerequest = googlecloudaiplatformv1invokerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPublishersModelsInvokeInvokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsPublishersModelsInvokeInvokeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPublishersModelsInvokeInvokeCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsInvokeInvokeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPublishersModelsInvokeInvokeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPublishersModelsInvokeInvokeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1invokerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}/invoke/{+invokeId}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
		"invokeId": c.invokeId,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.invoke.invoke", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.publishers.models.invoke.invoke" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPublishersModelsInvokeInvokeCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.publishers.models.invoke.invoke", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaCreateCall struct {
	s                                *Service
	parent                           string
	googlecloudaiplatformv1ragcorpus *GoogleCloudAiplatformV1RagCorpus
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Create: Creates a RagCorpus.
//
//   - parent: The resource name of the Location to create the RagCorpus in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsRagCorporaService) Create(parent string, googlecloudaiplatformv1ragcorpus *GoogleCloudAiplatformV1RagCorpus) *ProjectsLocationsRagCorporaCreateCall {
	c := &ProjectsLocationsRagCorporaCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1ragcorpus = googlecloudaiplatformv1ragcorpus
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaCreateCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1ragcorpus)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/ragCorpora")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a RagCorpus.
//
//   - name: The name of the RagCorpus resource to be deleted. Format:
//     `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`.
func (r *ProjectsLocationsRagCorporaService) Delete(name string) *ProjectsLocationsRagCorporaDeleteCall {
	c := &ProjectsLocationsRagCorporaDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": If set to true, any RagFiles in
// this RagCorpus will also be deleted. Otherwise, the request will only work
// if the RagCorpus has no RagFiles.
func (c *ProjectsLocationsRagCorporaDeleteCall) Force(force bool) *ProjectsLocationsRagCorporaDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a RagCorpus.
//
//   - name: The name of the RagCorpus resource. Format:
//     `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`.
func (r *ProjectsLocationsRagCorporaService) Get(name string) *ProjectsLocationsRagCorporaGetCall {
	c := &ProjectsLocationsRagCorporaGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1RagCorpus.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1RagCorpus, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1RagCorpus{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists RagCorpora in a Location.
//
//   - parent: The resource name of the Location from which to list the
//     RagCorpora. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsRagCorporaService) List(parent string) *ProjectsLocationsRagCorporaListCall {
	c := &ProjectsLocationsRagCorporaListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size. The maximum value is 100. If not specified, a default value of 100
// will be used.
func (c *ProjectsLocationsRagCorporaListCall) PageSize(pageSize int64) *ProjectsLocationsRagCorporaListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListRagCorporaResponse.next_page_token of the
// previous VertexRagDataService.ListRagCorpora call.
func (c *ProjectsLocationsRagCorporaListCall) PageToken(pageToken string) *ProjectsLocationsRagCorporaListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaListCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/ragCorpora")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListRagCorporaResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListRagCorporaResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListRagCorporaResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsRagCorporaListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListRagCorporaResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsRagCorporaPatchCall struct {
	s                                *Service
	name                             string
	googlecloudaiplatformv1ragcorpus *GoogleCloudAiplatformV1RagCorpus
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Patch: Updates a RagCorpus.
//
// - name: Output only. The resource name of the RagCorpus.
func (r *ProjectsLocationsRagCorporaService) Patch(name string, googlecloudaiplatformv1ragcorpus *GoogleCloudAiplatformV1RagCorpus) *ProjectsLocationsRagCorporaPatchCall {
	c := &ProjectsLocationsRagCorporaPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1ragcorpus = googlecloudaiplatformv1ragcorpus
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaPatchCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1ragcorpus)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsRagCorporaOperationsService) Cancel(name string) *ProjectsLocationsRagCorporaOperationsCancelCall {
	c := &ProjectsLocationsRagCorporaOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsRagCorporaOperationsService) Delete(name string) *ProjectsLocationsRagCorporaOperationsDeleteCall {
	c := &ProjectsLocationsRagCorporaOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsRagCorporaOperationsService) Get(name string) *ProjectsLocationsRagCorporaOperationsGetCall {
	c := &ProjectsLocationsRagCorporaOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsRagCorporaOperationsService) List(name string) *ProjectsLocationsRagCorporaOperationsListCall {
	c := &ProjectsLocationsRagCorporaOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsRagCorporaOperationsListCall) Filter(filter string) *ProjectsLocationsRagCorporaOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsRagCorporaOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsRagCorporaOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsRagCorporaOperationsListCall) PageToken(pageToken string) *ProjectsLocationsRagCorporaOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsRagCorporaOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsRagCorporaOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaOperationsListCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsRagCorporaOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsRagCorporaOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsRagCorporaOperationsService) Wait(name string) *ProjectsLocationsRagCorporaOperationsWaitCall {
	c := &ProjectsLocationsRagCorporaOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsRagCorporaOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsRagCorporaOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaRagFilesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a RagFile.
//
//   - name: The name of the RagFile resource to be deleted. Format:
//     `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{
//     rag_file}`.
func (r *ProjectsLocationsRagCorporaRagFilesService) Delete(name string) *ProjectsLocationsRagCorporaRagFilesDeleteCall {
	c := &ProjectsLocationsRagCorporaRagFilesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ForceDelete sets the optional parameter "forceDelete": If set to true, any
// errors generated by external vector database during the deletion will be
// ignored. The default value is false.
func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) ForceDelete(forceDelete bool) *ProjectsLocationsRagCorporaRagFilesDeleteCall {
	c.urlParams_.Set("forceDelete", fmt.Sprint(forceDelete))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaRagFilesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a RagFile.
//
//   - name: The name of the RagFile resource. Format:
//     `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{
//     rag_file}`.
func (r *ProjectsLocationsRagCorporaRagFilesService) Get(name string) *ProjectsLocationsRagCorporaRagFilesGetCall {
	c := &ProjectsLocationsRagCorporaRagFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaRagFilesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaRagFilesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1RagFile.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1RagFile, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1RagFile{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaRagFilesImportCall struct {
	s                                            *Service
	parent                                       string
	googlecloudaiplatformv1importragfilesrequest *GoogleCloudAiplatformV1ImportRagFilesRequest
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Import: Import files from Google Cloud Storage or Google Drive into a
// RagCorpus.
//
//   - parent: The name of the RagCorpus resource into which to import files.
//     Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`.
func (r *ProjectsLocationsRagCorporaRagFilesService) Import(parent string, googlecloudaiplatformv1importragfilesrequest *GoogleCloudAiplatformV1ImportRagFilesRequest) *ProjectsLocationsRagCorporaRagFilesImportCall {
	c := &ProjectsLocationsRagCorporaRagFilesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1importragfilesrequest = googlecloudaiplatformv1importragfilesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesImportCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesImportCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesImportCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1importragfilesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/ragFiles:import")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.import", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.import" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.import", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaRagFilesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists RagFiles in a RagCorpus.
//
//   - parent: The resource name of the RagCorpus from which to list the
//     RagFiles. Format:
//     `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`.
func (r *ProjectsLocationsRagCorporaRagFilesService) List(parent string) *ProjectsLocationsRagCorporaRagFilesListCall {
	c := &ProjectsLocationsRagCorporaRagFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size. The maximum value is 100. If not specified, a default value of 100
// will be used.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) PageSize(pageSize int64) *ProjectsLocationsRagCorporaRagFilesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListRagFilesResponse.next_page_token of the
// previous VertexRagDataService.ListRagFiles call.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) PageToken(pageToken string) *ProjectsLocationsRagCorporaRagFilesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaRagFilesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/ragFiles")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListRagFilesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListRagFilesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListRagFilesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsRagCorporaRagFilesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListRagFilesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsRagCorporaRagFilesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsRagCorporaRagFilesOperationsService) Cancel(name string) *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall {
	c := &ProjectsLocationsRagCorporaRagFilesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsRagCorporaRagFilesOperationsService) Delete(name string) *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall {
	c := &ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaRagFilesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsRagCorporaRagFilesOperationsService) Get(name string) *ProjectsLocationsRagCorporaRagFilesOperationsGetCall {
	c := &ProjectsLocationsRagCorporaRagFilesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaRagFilesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagCorporaRagFilesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsRagCorporaRagFilesOperationsService) List(name string) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c := &ProjectsLocationsRagCorporaRagFilesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) Filter(filter string) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsRagCorporaRagFilesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsRagCorporaRagFilesOperationsService) Wait(name string) *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall {
	c := &ProjectsLocationsRagCorporaRagFilesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagCorporaRagFilesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagEngineConfigOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsRagEngineConfigOperationsService) Cancel(name string) *ProjectsLocationsRagEngineConfigOperationsCancelCall {
	c := &ProjectsLocationsRagEngineConfigOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagEngineConfigOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagEngineConfigOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagEngineConfigOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsRagEngineConfigOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagEngineConfigOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagEngineConfigOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragEngineConfig.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsRagEngineConfigOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagEngineConfigOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsRagEngineConfigOperationsService) Delete(name string) *ProjectsLocationsRagEngineConfigOperationsDeleteCall {
	c := &ProjectsLocationsRagEngineConfigOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagEngineConfigOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagEngineConfigOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagEngineConfigOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagEngineConfigOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagEngineConfigOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagEngineConfigOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragEngineConfig.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsRagEngineConfigOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagEngineConfigOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsRagEngineConfigOperationsService) Get(name string) *ProjectsLocationsRagEngineConfigOperationsGetCall {
	c := &ProjectsLocationsRagEngineConfigOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagEngineConfigOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagEngineConfigOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagEngineConfigOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagEngineConfigOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagEngineConfigOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsRagEngineConfigOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagEngineConfigOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagEngineConfigOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragEngineConfig.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagEngineConfigOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsRagEngineConfigOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsRagEngineConfigOperationsService) List(name string) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c := &ProjectsLocationsRagEngineConfigOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) Filter(filter string) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) PageToken(pageToken string) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) Context(ctx context.Context) *ProjectsLocationsRagEngineConfigOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagEngineConfigOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragEngineConfig.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsRagEngineConfigOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsRagEngineConfigOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsRagEngineConfigOperationsService) Wait(name string) *ProjectsLocationsRagEngineConfigOperationsWaitCall {
	c := &ProjectsLocationsRagEngineConfigOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsRagEngineConfigOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsRagEngineConfigOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsRagEngineConfigOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagEngineConfigOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsRagEngineConfigOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsRagEngineConfigOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsRagEngineConfigOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsRagEngineConfigOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.ragEngineConfig.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsRagEngineConfigOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.ragEngineConfig.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesAsyncQueryCall struct {
	s                                                       *Service
	name                                                    string
	googlecloudaiplatformv1asyncqueryreasoningenginerequest *GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest
	urlParams_                                              gensupport.URLParams
	ctx_                                                    context.Context
	header_                                                 http.Header
}

// AsyncQuery: Async query using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesService) AsyncQuery(name string, googlecloudaiplatformv1asyncqueryreasoningenginerequest *GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest) *ProjectsLocationsReasoningEnginesAsyncQueryCall {
	c := &ProjectsLocationsReasoningEnginesAsyncQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1asyncqueryreasoningenginerequest = googlecloudaiplatformv1asyncqueryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesAsyncQueryCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesAsyncQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesAsyncQueryCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesAsyncQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesAsyncQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesAsyncQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1asyncqueryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:asyncQuery")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.asyncQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.asyncQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesAsyncQueryCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.asyncQuery", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesCreateCall struct {
	s                                      *Service
	parent                                 string
	googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine
	urlParams_                             gensupport.URLParams
	ctx_                                   context.Context
	header_                                http.Header
}

// Create: Creates a reasoning engine.
//
//   - parent: The resource name of the Location to create the ReasoningEngine
//     in. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsReasoningEnginesService) Create(parent string, googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine) *ProjectsLocationsReasoningEnginesCreateCall {
	c := &ProjectsLocationsReasoningEnginesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1reasoningengine = googlecloudaiplatformv1reasoningengine
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesCreateCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1reasoningengine)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/reasoningEngines")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to be deleted. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesService) Delete(name string) *ProjectsLocationsReasoningEnginesDeleteCall {
	c := &ProjectsLocationsReasoningEnginesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": If set to true, child resources
// of this reasoning engine will also be deleted. Otherwise, the request will
// fail with FAILED_PRECONDITION error when the reasoning engine has undeleted
// child resources.
func (c *ProjectsLocationsReasoningEnginesDeleteCall) Force(force bool) *ProjectsLocationsReasoningEnginesDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesExecuteCodeCall struct {
	s                                         *Service
	name                                      string
	googlecloudaiplatformv1executecoderequest *GoogleCloudAiplatformV1ExecuteCodeRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// ExecuteCode: Executes code statelessly.
//
//   - name: The resource name of the sandbox environment to execute. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesService) ExecuteCode(name string, googlecloudaiplatformv1executecoderequest *GoogleCloudAiplatformV1ExecuteCodeRequest) *ProjectsLocationsReasoningEnginesExecuteCodeCall {
	c := &ProjectsLocationsReasoningEnginesExecuteCodeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1executecoderequest = googlecloudaiplatformv1executecoderequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesExecuteCodeCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesExecuteCodeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesExecuteCodeCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesExecuteCodeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesExecuteCodeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesExecuteCodeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1executecoderequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:executeCode")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.executeCode", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.executeCode" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ExecuteCodeResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesExecuteCodeCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ExecuteCodeResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ExecuteCodeResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.executeCode", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesService) Get(name string) *ProjectsLocationsReasoningEnginesGetCall {
	c := &ProjectsLocationsReasoningEnginesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReasoningEngine.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReasoningEngine, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReasoningEngine{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesGetIamPolicyCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// GetIamPolicy: Gets the access control policy for a resource. Returns an
// empty policy if the resource exists and does not have a policy set.
//
//   - resource: REQUIRED: The resource for which the policy is being requested.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsReasoningEnginesService) GetIamPolicy(resource string) *ProjectsLocationsReasoningEnginesGetIamPolicyCall {
	c := &ProjectsLocationsReasoningEnginesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// OptionsRequestedPolicyVersion sets the optional parameter
// "options.requestedPolicyVersion": The maximum policy version that will be
// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
// an invalid value will be rejected. Requests for policies with any
// conditional role bindings must specify version 3. Policies with no
// conditional role bindings may specify any valid value or leave the field
// unset. The policy in the response might use the policy version that you
// specified, or it might use a lower policy version. For example, if you
// specify version 3, but the policy has no conditional role bindings, the
// response uses version 1. To learn which resources support conditions in
// their IAM policies, see the IAM documentation
// (https://cloud.google.com/iam/help/conditions/resource-policies).
func (c *ProjectsLocationsReasoningEnginesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsReasoningEnginesGetIamPolicyCall {
	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesGetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesGetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.getIamPolicy", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.getIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.getIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists reasoning engines in a location.
//
//   - parent: The resource name of the Location to list the ReasoningEngines
//     from. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsReasoningEnginesService) List(parent string) *ProjectsLocationsReasoningEnginesListCall {
	c := &ProjectsLocationsReasoningEnginesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsReasoningEnginesListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsReasoningEnginesListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsReasoningEnginesListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/reasoningEngines")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListReasoningEnginesResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListReasoningEnginesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListReasoningEnginesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListReasoningEnginesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesPatchCall struct {
	s                                      *Service
	name                                   string
	googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine
	urlParams_                             gensupport.URLParams
	ctx_                                   context.Context
	header_                                http.Header
}

// Patch: Updates a reasoning engine.
//
//   - name: Identifier. The resource name of the ReasoningEngine. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesService) Patch(name string, googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine) *ProjectsLocationsReasoningEnginesPatchCall {
	c := &ProjectsLocationsReasoningEnginesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1reasoningengine = googlecloudaiplatformv1reasoningengine
	return c
}

// UpdateMask sets the optional parameter "updateMask": Mask specifying which
// fields to update.
func (c *ProjectsLocationsReasoningEnginesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsReasoningEnginesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesPatchCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1reasoningengine)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesQueryCall struct {
	s                                                  *Service
	name                                               string
	googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest
	urlParams_                                         gensupport.URLParams
	ctx_                                               context.Context
	header_                                            http.Header
}

// Query: Queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesService) Query(name string, googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest) *ProjectsLocationsReasoningEnginesQueryCall {
	c := &ProjectsLocationsReasoningEnginesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1queryreasoningenginerequest = googlecloudaiplatformv1queryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesQueryCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesQueryCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1queryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:query")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.query", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.query" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1QueryReasoningEngineResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesQueryCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1QueryReasoningEngineResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1QueryReasoningEngineResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.query", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSetIamPolicyCall struct {
	s                              *Service
	resource                       string
	googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// SetIamPolicy: Sets the access control policy on the specified resource.
// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
// and `PERMISSION_DENIED` errors.
//
//   - resource: REQUIRED: The resource for which the policy is being specified.
//     See Resource names (https://cloud.google.com/apis/design/resource_names)
//     for the appropriate value for this field.
func (r *ProjectsLocationsReasoningEnginesService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsReasoningEnginesSetIamPolicyCall {
	c := &ProjectsLocationsReasoningEnginesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSetIamPolicyCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSetIamPolicyCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.setIamPolicy" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1Policy.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1Policy{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.setIamPolicy", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesStreamQueryCall struct {
	s                                                        *Service
	name                                                     string
	googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest
	urlParams_                                               gensupport.URLParams
	ctx_                                                     context.Context
	header_                                                  http.Header
}

// StreamQuery: Streams queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesService) StreamQuery(name string, googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest) *ProjectsLocationsReasoningEnginesStreamQueryCall {
	c := &ProjectsLocationsReasoningEnginesStreamQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1streamqueryreasoningenginerequest = googlecloudaiplatformv1streamqueryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesStreamQueryCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesStreamQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesStreamQueryCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesStreamQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesStreamQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesStreamQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamqueryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:streamQuery")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.streamQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.streamQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesStreamQueryCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.streamQuery", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesTestIamPermissionsCall struct {
	s          *Service
	resource   string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// TestIamPermissions: Returns permissions that a caller has on the specified
// resource. If the resource does not exist, this will return an empty set of
// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
// used for building permission-aware UIs and command-line tools, not for
// authorization checking. This operation may "fail open" without warning.
//
//   - resource: REQUIRED: The resource for which the policy detail is being
//     requested. See Resource names
//     (https://cloud.google.com/apis/design/resource_names) for the appropriate
//     value for this field.
func (r *ProjectsLocationsReasoningEnginesService) TestIamPermissions(resource string) *ProjectsLocationsReasoningEnginesTestIamPermissionsCall {
	c := &ProjectsLocationsReasoningEnginesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.resource = resource
	return c
}

// Permissions sets the optional parameter "permissions": The set of
// permissions to check for the `resource`. Permissions with wildcards (such as
// `*` or `storage.*`) are not allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
func (c *ProjectsLocationsReasoningEnginesTestIamPermissionsCall) Permissions(permissions ...string) *ProjectsLocationsReasoningEnginesTestIamPermissionsCall {
	c.urlParams_.SetMulti("permissions", append([]string{}, permissions...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesTestIamPermissionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesTestIamPermissionsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.testIamPermissions", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.testIamPermissions" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleIamV1TestIamPermissionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleIamV1TestIamPermissionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.testIamPermissions", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesCreateCall struct {
	s                             *Service
	parent                        string
	googlecloudaiplatformv1memory *GoogleCloudAiplatformV1Memory
	urlParams_                    gensupport.URLParams
	ctx_                          context.Context
	header_                       http.Header
}

// Create: Create a Memory.
//
//   - parent: The resource name of the ReasoningEngine to create the Memory
//     under. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Create(parent string, googlecloudaiplatformv1memory *GoogleCloudAiplatformV1Memory) *ProjectsLocationsReasoningEnginesMemoriesCreateCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1memory = googlecloudaiplatformv1memory
	return c
}

// MemoryId sets the optional parameter "memoryId": The user defined ID to use
// for memory, which will become the final component of the memory resource
// name. If not provided, Vertex AI will generate a value for this ID. This
// value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The
// first character must be a letter, and the last character must be a letter or
// number.
func (c *ProjectsLocationsReasoningEnginesMemoriesCreateCall) MemoryId(memoryId string) *ProjectsLocationsReasoningEnginesMemoriesCreateCall {
	c.urlParams_.Set("memoryId", memoryId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesCreateCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1memory)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memories")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Delete a Memory.
//
//   - name: The resource name of the Memory to delete. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/memories/{memory}`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Delete(name string) *ProjectsLocationsReasoningEnginesMemoriesDeleteCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesGenerateCall struct {
	s                                              *Service
	parent                                         string
	googlecloudaiplatformv1generatememoriesrequest *GoogleCloudAiplatformV1GenerateMemoriesRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// Generate: Generate memories.
//
//   - parent: The resource name of the ReasoningEngine to generate memories for.
//     Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Generate(parent string, googlecloudaiplatformv1generatememoriesrequest *GoogleCloudAiplatformV1GenerateMemoriesRequest) *ProjectsLocationsReasoningEnginesMemoriesGenerateCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesGenerateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1generatememoriesrequest = googlecloudaiplatformv1generatememoriesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesGenerateCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesGenerateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesGenerateCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesGenerateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesGenerateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesGenerateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatememoriesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memories:generate")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.generate", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.generate" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesGenerateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.generate", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Get a Memory.
//
//   - name: The resource name of the Memory. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/memories/{memory}`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Get(name string) *ProjectsLocationsReasoningEnginesMemoriesGetCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesMemoriesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesMemoriesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Memory.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Memory, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Memory{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: List Memories.
//
//   - parent: The resource name of the ReasoningEngine to list the Memories
//     under. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) List(parent string) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160). Supported fields: * `scope`
// (as a JSON string with equality match only) * `topics` (i.e.
// `topics.custom_memory_topic_label: "example topic" OR
// topics.managed_memory_topic: USER_PREFERENCES`)
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": The standard list order by
// string. If not specified, the default order is `create_time desc`. If
// specified, the default sorting order of provided fields is ascending. More
// detail in AIP-132 (https://google.aip.dev/132). Supported fields: *
// `create_time` * `update_time`
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) OrderBy(orderBy string) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memories")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListMemoriesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListMemoriesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListMemoriesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesMemoriesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListMemoriesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesMemoriesPatchCall struct {
	s                             *Service
	name                          string
	googlecloudaiplatformv1memory *GoogleCloudAiplatformV1Memory
	urlParams_                    gensupport.URLParams
	ctx_                          context.Context
	header_                       http.Header
}

// Patch: Update a Memory.
//
//   - name: Identifier. Represents the resource name of the Memory. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/memories/{memory}`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Patch(name string, googlecloudaiplatformv1memory *GoogleCloudAiplatformV1Memory) *ProjectsLocationsReasoningEnginesMemoriesPatchCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1memory = googlecloudaiplatformv1memory
	return c
}

// UpdateMask sets the optional parameter "updateMask": Mask specifying which
// fields to update. Supported fields: * `display_name` * `description` *
// `fact`
func (c *ProjectsLocationsReasoningEnginesMemoriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsReasoningEnginesMemoriesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesPatchCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1memory)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesPurgeCall struct {
	s                                           *Service
	parent                                      string
	googlecloudaiplatformv1purgememoriesrequest *GoogleCloudAiplatformV1PurgeMemoriesRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// Purge: Purge memories.
//
//   - parent: The resource name of the ReasoningEngine to purge memories from.
//     Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Purge(parent string, googlecloudaiplatformv1purgememoriesrequest *GoogleCloudAiplatformV1PurgeMemoriesRequest) *ProjectsLocationsReasoningEnginesMemoriesPurgeCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1purgememoriesrequest = googlecloudaiplatformv1purgememoriesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesPurgeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesPurgeCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesPurgeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesPurgeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesPurgeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1purgememoriesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memories:purge")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.purge", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.purge" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesPurgeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.purge", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesRetrieveCall struct {
	s                                              *Service
	parent                                         string
	googlecloudaiplatformv1retrievememoriesrequest *GoogleCloudAiplatformV1RetrieveMemoriesRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// Retrieve: Retrieve memories.
//
//   - parent: The resource name of the ReasoningEngine to retrieve memories
//     from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Retrieve(parent string, googlecloudaiplatformv1retrievememoriesrequest *GoogleCloudAiplatformV1RetrieveMemoriesRequest) *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesRetrieveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1retrievememoriesrequest = googlecloudaiplatformv1retrievememoriesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1retrievememoriesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memories:retrieve")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.retrieve", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.retrieve" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1RetrieveMemoriesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesRetrieveCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1RetrieveMemoriesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1RetrieveMemoriesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.retrieve", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesRollbackCall struct {
	s                                            *Service
	name                                         string
	googlecloudaiplatformv1rollbackmemoryrequest *GoogleCloudAiplatformV1RollbackMemoryRequest
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Rollback: Rollback Memory to a specific revision.
//
//   - name: The resource name of the Memory to rollback. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/memories/{memory}`.
func (r *ProjectsLocationsReasoningEnginesMemoriesService) Rollback(name string, googlecloudaiplatformv1rollbackmemoryrequest *GoogleCloudAiplatformV1RollbackMemoryRequest) *ProjectsLocationsReasoningEnginesMemoriesRollbackCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1rollbackmemoryrequest = googlecloudaiplatformv1rollbackmemoryrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesRollbackCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesRollbackCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesRollbackCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesRollbackCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesRollbackCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesRollbackCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1rollbackmemoryrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:rollback")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.rollback", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.rollback" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesRollbackCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.rollback", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsReasoningEnginesMemoriesOperationsService) Cancel(name string) *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsReasoningEnginesMemoriesOperationsService) Delete(name string) *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsReasoningEnginesMemoriesOperationsService) Get(name string) *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsReasoningEnginesMemoriesOperationsService) List(name string) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsReasoningEnginesMemoriesOperationsService) Wait(name string) *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Get a Memory Revision.
//
//   - name: The resource name of the Memory Revision to retrieve. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/memories/{memory}/revisions/{revision}`.
func (r *ProjectsLocationsReasoningEnginesMemoriesRevisionsService) Get(name string) *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.revisions.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.revisions.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1MemoryRevision.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1MemoryRevision, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1MemoryRevision{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.revisions.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: List Memory Revisions for a Memory.
//
//   - parent: The resource name of the Memory to list revisions for. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/memories/{memory}`.
func (r *ProjectsLocationsReasoningEnginesMemoriesRevisionsService) List(parent string) *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall {
	c := &ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160). Supported fields (equality
// match only): * `labels`
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/revisions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.revisions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.memories.revisions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListMemoryRevisionsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListMemoryRevisionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListMemoryRevisionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.memories.revisions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesMemoriesRevisionsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListMemoryRevisionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsReasoningEnginesOperationsService) Cancel(name string) *ProjectsLocationsReasoningEnginesOperationsCancelCall {
	c := &ProjectsLocationsReasoningEnginesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsReasoningEnginesOperationsService) Delete(name string) *ProjectsLocationsReasoningEnginesOperationsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsReasoningEnginesOperationsService) Get(name string) *ProjectsLocationsReasoningEnginesOperationsGetCall {
	c := &ProjectsLocationsReasoningEnginesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsReasoningEnginesOperationsService) List(name string) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c := &ProjectsLocationsReasoningEnginesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsReasoningEnginesOperationsService) Wait(name string) *ProjectsLocationsReasoningEnginesOperationsWaitCall {
	c := &ProjectsLocationsReasoningEnginesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsReasoningEnginesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsReasoningEnginesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall struct {
	s                                                  *Service
	name                                               string
	googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest
	urlParams_                                         gensupport.URLParams
	ctx_                                               context.Context
	header_                                            http.Header
}

// Query: Queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesRuntimeRevisionsService) Query(name string, googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest) *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall {
	c := &ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1queryreasoningenginerequest = googlecloudaiplatformv1queryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1queryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:query")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.query", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.query" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1QueryReasoningEngineResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsQueryCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1QueryReasoningEngineResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1QueryReasoningEngineResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.query", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall struct {
	s                                                        *Service
	name                                                     string
	googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest
	urlParams_                                               gensupport.URLParams
	ctx_                                                     context.Context
	header_                                                  http.Header
}

// StreamQuery: Streams queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesRuntimeRevisionsService) StreamQuery(name string, googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest) *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall {
	c := &ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1streamqueryreasoningenginerequest = googlecloudaiplatformv1streamqueryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamqueryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:streamQuery")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.streamQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.streamQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.runtimeRevisions.streamQuery", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes the specific SandboxEnvironmentSnapshot.
//
//   - name: The resource name of the SandboxEnvironmentSnapshot to delete.
//     Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService) Delete(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of the specific SandboxEnvironmentSnapshot.
//
//   - name: The resource name of the sandbox environment snapshot. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService) Get(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SandboxEnvironmentSnapshot.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SandboxEnvironmentSnapshot, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SandboxEnvironmentSnapshot{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SandboxEnvironmentSnapshots in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to list sandbox
//     environments from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsService) List(parent string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// SandboxEnvironmentSnapshots to return. The service may return fewer than
// this value. If unspecified, at most 100 SandboxEnvironmentSnapshots will be
// returned. Values above 100 will be coerced to 100.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token, received from a previous `ListSandboxEnvironmentSnapshots` call.
// Provide this to retrieve the subsequent page.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironmentSnapshots")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse.ServerRespons
// e.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Cancel(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Delete(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Get(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Wait(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall struct {
	s                                                 *Service
	parent                                            string
	googlecloudaiplatformv1sandboxenvironmenttemplate *GoogleCloudAiplatformV1SandboxEnvironmentTemplate
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// Create: Creates a SandboxEnvironmentTemplate in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to create the
//     SandboxEnvironmentTemplate in. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService) Create(parent string, googlecloudaiplatformv1sandboxenvironmenttemplate *GoogleCloudAiplatformV1SandboxEnvironmentTemplate) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1sandboxenvironmenttemplate = googlecloudaiplatformv1sandboxenvironmenttemplate
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1sandboxenvironmenttemplate)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironmentTemplates")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes the specific SandboxEnvironmentTemplate.
//
//   - name: The resource name of the SandboxEnvironmentTemplate to delete.
//     Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentTemplates/{sandbox_environment_template}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService) Delete(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of the specific SandboxEnvironmentTemplate.
//
//   - name: The resource name of the sandbox environment template. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentTemplates/{sandbox_environment_template}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService) Get(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SandboxEnvironmentTemplate.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SandboxEnvironmentTemplate, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SandboxEnvironmentTemplate{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SandboxEnvironmentTemplates in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to list sandbox
//     environment templates from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesService) List(parent string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// SandboxEnvironmentTemplates to return. The service may return fewer than
// this value. If unspecified, at most 100 SandboxEnvironmentTemplates will be
// returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token, received from a previous `ListSandboxEnvironmentTemplates` call.
// Provide this to retrieve the subsequent page.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironmentTemplates")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse.ServerRespons
// e.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Cancel(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Delete(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Get(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Wait(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1sandboxenvironment *GoogleCloudAiplatformV1SandboxEnvironment
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Create: Creates a SandboxEnvironment in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to create the
//     SandboxEnvironment in. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService) Create(parent string, googlecloudaiplatformv1sandboxenvironment *GoogleCloudAiplatformV1SandboxEnvironment) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1sandboxenvironment = googlecloudaiplatformv1sandboxenvironment
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1sandboxenvironment)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes the specific SandboxEnvironment.
//
//   - name: The resource name of the SandboxEnvironment to delete. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService) Delete(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall struct {
	s                                                       *Service
	name                                                    string
	googlecloudaiplatformv1executesandboxenvironmentrequest *GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest
	urlParams_                                              gensupport.URLParams
	ctx_                                                    context.Context
	header_                                                 http.Header
}

// Execute: Executes using a sandbox environment.
//
//   - name: The resource name of the sandbox environment to execute. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService) Execute(name string, googlecloudaiplatformv1executesandboxenvironmentrequest *GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1executesandboxenvironmentrequest = googlecloudaiplatformv1executesandboxenvironmentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1executesandboxenvironmentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:execute")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.execute", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.execute" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse.ServerResponse.Head
// er or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsExecuteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.execute", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of the specific SandboxEnvironment.
//
//   - name: The resource name of the sandbox environment. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService) Get(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SandboxEnvironment.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SandboxEnvironment, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SandboxEnvironment{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SandboxEnvironments in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to list sandbox
//     environments from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService) List(parent string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// SandboxEnvironments to return. The service may return fewer than this value.
// If unspecified, at most 100 SandboxEnvironments will be returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token, received from a previous `ListSandboxEnvironments` call. Provide this
// to retrieve the subsequent page.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall struct {
	s                                                 *Service
	name                                              string
	googlecloudaiplatformv1sandboxenvironmentsnapshot *GoogleCloudAiplatformV1SandboxEnvironmentSnapshot
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// Snapshot: Snapshots the specific SandboxEnvironment resource and creates a
// SandboxEnvironmentSnapshot resource.
//
//   - name: The resource name of the sandbox environment to snapshot. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsService) Snapshot(name string, googlecloudaiplatformv1sandboxenvironmentsnapshot *GoogleCloudAiplatformV1SandboxEnvironmentSnapshot) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1sandboxenvironmentsnapshot = googlecloudaiplatformv1sandboxenvironmentsnapshot
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1sandboxenvironmentsnapshot)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:snapshot")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.snapshot", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.snapshot" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsSnapshotCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.snapshot", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService) Cancel(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService) Delete(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService) Get(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsService) Wait(name string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c := &ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sandboxEnvironments.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsAppendEventCall struct {
	s                                   *Service
	name                                string
	googlecloudaiplatformv1sessionevent *GoogleCloudAiplatformV1SessionEvent
	urlParams_                          gensupport.URLParams
	ctx_                                context.Context
	header_                             http.Header
}

// AppendEvent: Appends an event to a given session.
//
//   - name: The resource name of the session to append event to. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sessions/{session}`.
func (r *ProjectsLocationsReasoningEnginesSessionsService) AppendEvent(name string, googlecloudaiplatformv1sessionevent *GoogleCloudAiplatformV1SessionEvent) *ProjectsLocationsReasoningEnginesSessionsAppendEventCall {
	c := &ProjectsLocationsReasoningEnginesSessionsAppendEventCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1sessionevent = googlecloudaiplatformv1sessionevent
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsAppendEventCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsAppendEventCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsAppendEventCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsAppendEventCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsAppendEventCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsAppendEventCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1sessionevent)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:appendEvent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.appendEvent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.appendEvent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1AppendEventResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsAppendEventCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1AppendEventResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1AppendEventResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.appendEvent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsCreateCall struct {
	s                              *Service
	parent                         string
	googlecloudaiplatformv1session *GoogleCloudAiplatformV1Session
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Create: Creates a new Session.
//
//   - parent: The resource name of the location to create the session in.
//     Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesSessionsService) Create(parent string, googlecloudaiplatformv1session *GoogleCloudAiplatformV1Session) *ProjectsLocationsReasoningEnginesSessionsCreateCall {
	c := &ProjectsLocationsReasoningEnginesSessionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1session = googlecloudaiplatformv1session
	return c
}

// SessionId sets the optional parameter "sessionId": The user defined ID to
// use for session, which will become the final component of the session
// resource name. If not provided, Vertex AI will generate a value for this ID.
// This value may be up to 63 characters, and valid characters are `[a-z0-9-]`.
// The first and last characters must be a letter or number.
func (c *ProjectsLocationsReasoningEnginesSessionsCreateCall) SessionId(sessionId string) *ProjectsLocationsReasoningEnginesSessionsCreateCall {
	c.urlParams_.Set("sessionId", sessionId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsCreateCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1session)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sessions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes details of the specific Session.
//
//   - name: The resource name of the session. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sessions/{session}`.
func (r *ProjectsLocationsReasoningEnginesSessionsService) Delete(name string) *ProjectsLocationsReasoningEnginesSessionsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSessionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of the specific Session.
//
//   - name: The resource name of the session. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sessions/{session}`.
func (r *ProjectsLocationsReasoningEnginesSessionsService) Get(name string) *ProjectsLocationsReasoningEnginesSessionsGetCall {
	c := &ProjectsLocationsReasoningEnginesSessionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSessionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSessionsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Session.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Session, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Session{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Sessions in a given reasoning engine.
//
//   - parent: The resource name of the location to list sessions from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ProjectsLocationsReasoningEnginesSessionsService) List(parent string) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c := &ProjectsLocationsReasoningEnginesSessionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
// Supported fields: * `display_name` * `user_id` * `labels` Example:
// `display_name="abc", `user_id="123", `labels.key="value".
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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:
// `create_time desc`.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) OrderBy(orderBy string) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// sessions to return. The service may return fewer than this value. If
// unspecified, the default page size is 100. Values greater than 100 will be
// capped at 100.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The next_page_token value
// returned from a previous list SessionService.ListSessions call.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sessions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSessionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSessionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSessionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesSessionsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSessionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesSessionsPatchCall struct {
	s                              *Service
	name                           string
	googlecloudaiplatformv1session *GoogleCloudAiplatformV1Session
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Patch: Updates the specific Session.
//
//   - name: Identifier. The resource name of the session. Format:
//     'projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sessions/{session}'.
func (r *ProjectsLocationsReasoningEnginesSessionsService) Patch(name string, googlecloudaiplatformv1session *GoogleCloudAiplatformV1Session) *ProjectsLocationsReasoningEnginesSessionsPatchCall {
	c := &ProjectsLocationsReasoningEnginesSessionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1session = googlecloudaiplatformv1session
	return c
}

// UpdateMask sets the optional parameter "updateMask": Field mask is used to
// control which fields get updated. If the mask is not present, all fields
// will be updated.
func (c *ProjectsLocationsReasoningEnginesSessionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsReasoningEnginesSessionsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsPatchCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1session)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Session.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Session, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Session{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsEventsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Events in a given session.
//
//   - parent: The resource name of the session to list events from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sessions/{session}`.
func (r *ProjectsLocationsReasoningEnginesSessionsEventsService) List(parent string) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c := &ProjectsLocationsReasoningEnginesSessionsEventsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
// Supported fields: * `timestamp` range (i.e.
// `timestamp>="2025-01-31T11:30:00-04:00" where the timestamp is in RFC 3339
// format) More detail in AIP-160 (https://google.aip.dev/160).
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "desc" after a field name
// for descending. Supported fields: * `timestamp` Example: `timestamp desc`.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) OrderBy(orderBy string) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// events to return. The service may return fewer than this value. If
// unspecified, at most 100 events will be returned. These events are ordered
// by timestamp in ascending order.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The next_page_token value
// returned from a previous list SessionService.ListEvents call.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsEventsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/events")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.events.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.events.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListEventsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListEventsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListEventsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.events.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesSessionsEventsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListEventsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsReasoningEnginesSessionsOperationsService) Cancel(name string) *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall {
	c := &ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsReasoningEnginesSessionsOperationsService) Delete(name string) *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall {
	c := &ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsReasoningEnginesSessionsOperationsService) Get(name string) *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall {
	c := &ProjectsLocationsReasoningEnginesSessionsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsReasoningEnginesSessionsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsReasoningEnginesSessionsOperationsService) List(name string) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c := &ProjectsLocationsReasoningEnginesSessionsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) Filter(filter string) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsReasoningEnginesSessionsOperationsService) Wait(name string) *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall {
	c := &ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.reasoningEngines.sessions.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsReasoningEnginesSessionsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.reasoningEngines.sessions.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesCreateCall struct {
	s                               *Service
	parent                          string
	googlecloudaiplatformv1schedule *GoogleCloudAiplatformV1Schedule
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// Create: Creates a Schedule.
//
//   - parent: The resource name of the Location to create the Schedule in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsSchedulesService) Create(parent string, googlecloudaiplatformv1schedule *GoogleCloudAiplatformV1Schedule) *ProjectsLocationsSchedulesCreateCall {
	c := &ProjectsLocationsSchedulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1schedule = googlecloudaiplatformv1schedule
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesCreateCall) Context(ctx context.Context) *ProjectsLocationsSchedulesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1schedule)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/schedules")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Schedule.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Schedule, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Schedule{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Schedule.
//
//   - name: The name of the Schedule resource to be deleted. Format:
//     `projects/{project}/locations/{location}/schedules/{schedule}`.
func (r *ProjectsLocationsSchedulesService) Delete(name string) *ProjectsLocationsSchedulesDeleteCall {
	c := &ProjectsLocationsSchedulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesDeleteCall) Context(ctx context.Context) *ProjectsLocationsSchedulesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Schedule.
//
//   - name: The name of the Schedule resource. Format:
//     `projects/{project}/locations/{location}/schedules/{schedule}`.
func (r *ProjectsLocationsSchedulesService) Get(name string) *ProjectsLocationsSchedulesGetCall {
	c := &ProjectsLocationsSchedulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSchedulesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSchedulesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesGetCall) Context(ctx context.Context) *ProjectsLocationsSchedulesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Schedule.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Schedule, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Schedule{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Schedules in a Location.
//
//   - parent: The resource name of the Location to list the Schedules from.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsSchedulesService) List(parent string) *ProjectsLocationsSchedulesListCall {
	c := &ProjectsLocationsSchedulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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:*`
func (c *ProjectsLocationsSchedulesListCall) Filter(filter string) *ProjectsLocationsSchedulesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": 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`
func (c *ProjectsLocationsSchedulesListCall) OrderBy(orderBy string) *ProjectsLocationsSchedulesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size. Default to 100 if not specified.
func (c *ProjectsLocationsSchedulesListCall) PageSize(pageSize int64) *ProjectsLocationsSchedulesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListSchedulesResponse.next_page_token of the
// previous ScheduleService.ListSchedules call.
func (c *ProjectsLocationsSchedulesListCall) PageToken(pageToken string) *ProjectsLocationsSchedulesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSchedulesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSchedulesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesListCall) Context(ctx context.Context) *ProjectsLocationsSchedulesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/schedules")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSchedulesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSchedulesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSchedulesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsSchedulesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSchedulesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsSchedulesPatchCall struct {
	s                               *Service
	name                            string
	googlecloudaiplatformv1schedule *GoogleCloudAiplatformV1Schedule
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// Patch: 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.
//
// - name: Immutable. The resource name of the Schedule.
func (r *ProjectsLocationsSchedulesService) Patch(name string, googlecloudaiplatformv1schedule *GoogleCloudAiplatformV1Schedule) *ProjectsLocationsSchedulesPatchCall {
	c := &ProjectsLocationsSchedulesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1schedule = googlecloudaiplatformv1schedule
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource. See google.protobuf.FieldMask.
func (c *ProjectsLocationsSchedulesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsSchedulesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesPatchCall) Context(ctx context.Context) *ProjectsLocationsSchedulesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1schedule)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Schedule.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Schedule, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Schedule{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesPauseCall struct {
	s                                           *Service
	name                                        string
	googlecloudaiplatformv1pauseschedulerequest *GoogleCloudAiplatformV1PauseScheduleRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// Pause: Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the
// schedule is paused, no new runs will be created. Already created runs will
// NOT be paused or canceled.
//
//   - name: The name of the Schedule resource to be paused. Format:
//     `projects/{project}/locations/{location}/schedules/{schedule}`.
func (r *ProjectsLocationsSchedulesService) Pause(name string, googlecloudaiplatformv1pauseschedulerequest *GoogleCloudAiplatformV1PauseScheduleRequest) *ProjectsLocationsSchedulesPauseCall {
	c := &ProjectsLocationsSchedulesPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1pauseschedulerequest = googlecloudaiplatformv1pauseschedulerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesPauseCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesPauseCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesPauseCall) Context(ctx context.Context) *ProjectsLocationsSchedulesPauseCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesPauseCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesPauseCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1pauseschedulerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:pause")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.pause", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.pause" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSchedulesPauseCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.pause", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesResumeCall struct {
	s                                            *Service
	name                                         string
	googlecloudaiplatformv1resumeschedulerequest *GoogleCloudAiplatformV1ResumeScheduleRequest
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Resume: Resumes a paused Schedule to start scheduling new runs. Will mark
// 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.catch_up is set up true, all missed runs will be
// scheduled for backfill first.
//
//   - name: The name of the Schedule resource to be resumed. Format:
//     `projects/{project}/locations/{location}/schedules/{schedule}`.
func (r *ProjectsLocationsSchedulesService) Resume(name string, googlecloudaiplatformv1resumeschedulerequest *GoogleCloudAiplatformV1ResumeScheduleRequest) *ProjectsLocationsSchedulesResumeCall {
	c := &ProjectsLocationsSchedulesResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1resumeschedulerequest = googlecloudaiplatformv1resumeschedulerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesResumeCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesResumeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesResumeCall) Context(ctx context.Context) *ProjectsLocationsSchedulesResumeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesResumeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesResumeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1resumeschedulerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:resume")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.resume", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.resume" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSchedulesResumeCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.resume", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsSchedulesOperationsService) Cancel(name string) *ProjectsLocationsSchedulesOperationsCancelCall {
	c := &ProjectsLocationsSchedulesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSchedulesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsSchedulesOperationsService) Delete(name string) *ProjectsLocationsSchedulesOperationsDeleteCall {
	c := &ProjectsLocationsSchedulesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSchedulesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsSchedulesOperationsService) Get(name string) *ProjectsLocationsSchedulesOperationsGetCall {
	c := &ProjectsLocationsSchedulesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSchedulesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSchedulesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSchedulesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsSchedulesOperationsService) List(name string) *ProjectsLocationsSchedulesOperationsListCall {
	c := &ProjectsLocationsSchedulesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsSchedulesOperationsListCall) Filter(filter string) *ProjectsLocationsSchedulesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsSchedulesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsSchedulesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsSchedulesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsSchedulesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsSchedulesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsSchedulesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSchedulesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSchedulesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsSchedulesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsSchedulesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsSchedulesOperationsService) Wait(name string) *ProjectsLocationsSchedulesOperationsWaitCall {
	c := &ProjectsLocationsSchedulesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsSchedulesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsSchedulesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSchedulesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSchedulesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSchedulesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSchedulesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.schedules.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSchedulesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.schedules.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSkillsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsSkillsOperationsService) Cancel(name string) *ProjectsLocationsSkillsOperationsCancelCall {
	c := &ProjectsLocationsSkillsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSkillsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsSkillsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSkillsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsSkillsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSkillsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSkillsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.skills.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSkillsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSkillsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsSkillsOperationsService) Delete(name string) *ProjectsLocationsSkillsOperationsDeleteCall {
	c := &ProjectsLocationsSkillsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSkillsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSkillsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSkillsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSkillsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSkillsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSkillsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.skills.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSkillsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSkillsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsSkillsOperationsService) Get(name string) *ProjectsLocationsSkillsOperationsGetCall {
	c := &ProjectsLocationsSkillsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSkillsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSkillsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSkillsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSkillsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSkillsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsSkillsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSkillsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSkillsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.skills.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSkillsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSkillsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsSkillsOperationsService) List(name string) *ProjectsLocationsSkillsOperationsListCall {
	c := &ProjectsLocationsSkillsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsSkillsOperationsListCall) Filter(filter string) *ProjectsLocationsSkillsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsSkillsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsSkillsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsSkillsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsSkillsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsSkillsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsSkillsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSkillsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSkillsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSkillsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSkillsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSkillsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsSkillsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSkillsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSkillsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.skills.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSkillsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsSkillsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsSkillsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsSkillsOperationsService) Wait(name string) *ProjectsLocationsSkillsOperationsWaitCall {
	c := &ProjectsLocationsSkillsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsSkillsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsSkillsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSkillsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsSkillsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSkillsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsSkillsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSkillsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSkillsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.skills.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSkillsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.skills.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsCreateCall struct {
	s                                     *Service
	parent                                string
	googlecloudaiplatformv1specialistpool *GoogleCloudAiplatformV1SpecialistPool
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Create: Creates a SpecialistPool.
//
//   - parent: The parent Project name for the new SpecialistPool. The form is
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsSpecialistPoolsService) Create(parent string, googlecloudaiplatformv1specialistpool *GoogleCloudAiplatformV1SpecialistPool) *ProjectsLocationsSpecialistPoolsCreateCall {
	c := &ProjectsLocationsSpecialistPoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1specialistpool = googlecloudaiplatformv1specialistpool
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsCreateCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1specialistpool)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/specialistPools")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a SpecialistPool as well as all Specialists in the pool.
//
//   - name: The resource name of the SpecialistPool to delete. Format:
//     `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`.
func (r *ProjectsLocationsSpecialistPoolsService) Delete(name string) *ProjectsLocationsSpecialistPoolsDeleteCall {
	c := &ProjectsLocationsSpecialistPoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": 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.)
func (c *ProjectsLocationsSpecialistPoolsDeleteCall) Force(force bool) *ProjectsLocationsSpecialistPoolsDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a SpecialistPool.
//
//   - name: The name of the SpecialistPool resource. The form is
//     `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`
//     .
func (r *ProjectsLocationsSpecialistPoolsService) Get(name string) *ProjectsLocationsSpecialistPoolsGetCall {
	c := &ProjectsLocationsSpecialistPoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSpecialistPoolsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSpecialistPoolsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsGetCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SpecialistPool.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SpecialistPool, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SpecialistPool{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SpecialistPools in a Location.
//
//   - parent: The name of the SpecialistPool's parent resource. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsSpecialistPoolsService) List(parent string) *ProjectsLocationsSpecialistPoolsListCall {
	c := &ProjectsLocationsSpecialistPoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsSpecialistPoolsListCall) PageSize(pageSize int64) *ProjectsLocationsSpecialistPoolsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained by ListSpecialistPoolsResponse.next_page_token of
// the previous SpecialistPoolService.ListSpecialistPools call. Return first
// page if empty.
func (c *ProjectsLocationsSpecialistPoolsListCall) PageToken(pageToken string) *ProjectsLocationsSpecialistPoolsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read. FieldMask represents a set of
func (c *ProjectsLocationsSpecialistPoolsListCall) ReadMask(readMask string) *ProjectsLocationsSpecialistPoolsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSpecialistPoolsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSpecialistPoolsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsListCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/specialistPools")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSpecialistPoolsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSpecialistPoolsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSpecialistPoolsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsSpecialistPoolsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSpecialistPoolsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsSpecialistPoolsPatchCall struct {
	s                                     *Service
	name                                  string
	googlecloudaiplatformv1specialistpool *GoogleCloudAiplatformV1SpecialistPool
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Patch: Updates a SpecialistPool.
//
// - name: The resource name of the SpecialistPool.
func (r *ProjectsLocationsSpecialistPoolsService) Patch(name string, googlecloudaiplatformv1specialistpool *GoogleCloudAiplatformV1SpecialistPool) *ProjectsLocationsSpecialistPoolsPatchCall {
	c := &ProjectsLocationsSpecialistPoolsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1specialistpool = googlecloudaiplatformv1specialistpool
	return c
}

// UpdateMask sets the optional parameter "updateMask": Required. The update
// mask applies to the resource.
func (c *ProjectsLocationsSpecialistPoolsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsSpecialistPoolsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsPatchCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1specialistpool)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsSpecialistPoolsOperationsService) Cancel(name string) *ProjectsLocationsSpecialistPoolsOperationsCancelCall {
	c := &ProjectsLocationsSpecialistPoolsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSpecialistPoolsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsSpecialistPoolsOperationsService) Delete(name string) *ProjectsLocationsSpecialistPoolsOperationsDeleteCall {
	c := &ProjectsLocationsSpecialistPoolsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsSpecialistPoolsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsSpecialistPoolsOperationsService) Get(name string) *ProjectsLocationsSpecialistPoolsOperationsGetCall {
	c := &ProjectsLocationsSpecialistPoolsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSpecialistPoolsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsSpecialistPoolsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsSpecialistPoolsOperationsService) List(name string) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c := &ProjectsLocationsSpecialistPoolsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Filter(filter string) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsSpecialistPoolsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsSpecialistPoolsOperationsService) Wait(name string) *ProjectsLocationsSpecialistPoolsOperationsWaitCall {
	c := &ProjectsLocationsSpecialistPoolsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsSpecialistPoolsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsSpecialistPoolsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsSpecialistPoolsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsSpecialistPoolsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsSpecialistPoolsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsSpecialistPoolsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.specialistPools.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsSpecialistPoolsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.specialistPools.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesCreateCall struct {
	s                            *Service
	parent                       string
	googlecloudaiplatformv1study *GoogleCloudAiplatformV1Study
	urlParams_                   gensupport.URLParams
	ctx_                         context.Context
	header_                      http.Header
}

// Create: Creates a Study. A resource name will be generated after creation of
// the Study.
//
//   - parent: The resource name of the Location to create the CustomJob in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsStudiesService) Create(parent string, googlecloudaiplatformv1study *GoogleCloudAiplatformV1Study) *ProjectsLocationsStudiesCreateCall {
	c := &ProjectsLocationsStudiesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1study = googlecloudaiplatformv1study
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesCreateCall) Context(ctx context.Context) *ProjectsLocationsStudiesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1study)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/studies")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Study.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Study, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Study{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Study.
//
//   - name: The name of the Study resource to be deleted. Format:
//     `projects/{project}/locations/{location}/studies/{study}`.
func (r *ProjectsLocationsStudiesService) Delete(name string) *ProjectsLocationsStudiesDeleteCall {
	c := &ProjectsLocationsStudiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsStudiesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Study by name.
//
//   - name: The name of the Study resource. Format:
//     `projects/{project}/locations/{location}/studies/{study}`.
func (r *ProjectsLocationsStudiesService) Get(name string) *ProjectsLocationsStudiesGetCall {
	c := &ProjectsLocationsStudiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Study.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Study, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Study{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the studies in a region for an associated project.
//
//   - parent: The resource name of the Location to list the Study from. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsStudiesService) List(parent string) *ProjectsLocationsStudiesListCall {
	c := &ProjectsLocationsStudiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// studies to return per "page" of results. If unspecified, service will pick
// an appropriate default.
func (c *ProjectsLocationsStudiesListCall) PageSize(pageSize int64) *ProjectsLocationsStudiesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token to request
// the next page of results. If unspecified, there are no subsequent pages.
func (c *ProjectsLocationsStudiesListCall) PageToken(pageToken string) *ProjectsLocationsStudiesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesListCall) Context(ctx context.Context) *ProjectsLocationsStudiesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/studies")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListStudiesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListStudiesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListStudiesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsStudiesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListStudiesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsStudiesLookupCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1lookupstudyrequest *GoogleCloudAiplatformV1LookupStudyRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Lookup: Looks a study up using the user-defined display_name field instead
// of the fully qualified resource name.
//
//   - parent: The resource name of the Location to get the Study from. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsStudiesService) Lookup(parent string, googlecloudaiplatformv1lookupstudyrequest *GoogleCloudAiplatformV1LookupStudyRequest) *ProjectsLocationsStudiesLookupCall {
	c := &ProjectsLocationsStudiesLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1lookupstudyrequest = googlecloudaiplatformv1lookupstudyrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesLookupCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesLookupCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesLookupCall) Context(ctx context.Context) *ProjectsLocationsStudiesLookupCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesLookupCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesLookupCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1lookupstudyrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/studies:lookup")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.lookup", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.lookup" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Study.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesLookupCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Study, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Study{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.lookup", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsStudiesOperationsService) Cancel(name string) *ProjectsLocationsStudiesOperationsCancelCall {
	c := &ProjectsLocationsStudiesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsStudiesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsStudiesOperationsService) Delete(name string) *ProjectsLocationsStudiesOperationsDeleteCall {
	c := &ProjectsLocationsStudiesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsStudiesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsStudiesOperationsService) Get(name string) *ProjectsLocationsStudiesOperationsGetCall {
	c := &ProjectsLocationsStudiesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsStudiesOperationsService) List(name string) *ProjectsLocationsStudiesOperationsListCall {
	c := &ProjectsLocationsStudiesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsStudiesOperationsListCall) Filter(filter string) *ProjectsLocationsStudiesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsStudiesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsStudiesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsStudiesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsStudiesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsStudiesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsStudiesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsStudiesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsStudiesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsStudiesOperationsService) Wait(name string) *ProjectsLocationsStudiesOperationsWaitCall {
	c := &ProjectsLocationsStudiesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsStudiesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsStudiesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsAddTrialMeasurementCall struct {
	s                                                 *Service
	trialName                                         string
	googlecloudaiplatformv1addtrialmeasurementrequest *GoogleCloudAiplatformV1AddTrialMeasurementRequest
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// AddTrialMeasurement: Adds a measurement of the objective metrics to a Trial.
// This measurement is assumed to have been taken before the Trial is complete.
//
//   - trialName: The name of the trial to add measurement. Format:
//     `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`.
func (r *ProjectsLocationsStudiesTrialsService) AddTrialMeasurement(trialName string, googlecloudaiplatformv1addtrialmeasurementrequest *GoogleCloudAiplatformV1AddTrialMeasurementRequest) *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall {
	c := &ProjectsLocationsStudiesTrialsAddTrialMeasurementCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.trialName = trialName
	c.googlecloudaiplatformv1addtrialmeasurementrequest = googlecloudaiplatformv1addtrialmeasurementrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1addtrialmeasurementrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+trialName}:addTrialMeasurement")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"trialName": c.trialName,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.addTrialMeasurement", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.addTrialMeasurement" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Trial.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Trial, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Trial{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.addTrialMeasurement", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall struct {
	s                                                          *Service
	trialName                                                  string
	googlecloudaiplatformv1checktrialearlystoppingstaterequest *GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest
	urlParams_                                                 gensupport.URLParams
	ctx_                                                       context.Context
	header_                                                    http.Header
}

// CheckTrialEarlyStoppingState: Checks whether a Trial should stop or not.
// Returns a long-running operation. When the operation is successful, it will
// contain a CheckTrialEarlyStoppingStateResponse.
//
//   - trialName: The Trial's name. Format:
//     `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`.
func (r *ProjectsLocationsStudiesTrialsService) CheckTrialEarlyStoppingState(trialName string, googlecloudaiplatformv1checktrialearlystoppingstaterequest *GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest) *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall {
	c := &ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.trialName = trialName
	c.googlecloudaiplatformv1checktrialearlystoppingstaterequest = googlecloudaiplatformv1checktrialearlystoppingstaterequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1checktrialearlystoppingstaterequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+trialName}:checkTrialEarlyStoppingState")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"trialName": c.trialName,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsCompleteCall struct {
	s                                           *Service
	name                                        string
	googlecloudaiplatformv1completetrialrequest *GoogleCloudAiplatformV1CompleteTrialRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// Complete: Marks a Trial as complete.
//
//   - name: The Trial's name. Format:
//     `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`.
func (r *ProjectsLocationsStudiesTrialsService) Complete(name string, googlecloudaiplatformv1completetrialrequest *GoogleCloudAiplatformV1CompleteTrialRequest) *ProjectsLocationsStudiesTrialsCompleteCall {
	c := &ProjectsLocationsStudiesTrialsCompleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1completetrialrequest = googlecloudaiplatformv1completetrialrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsCompleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsCompleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsCompleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCompleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsCompleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsCompleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1completetrialrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:complete")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.complete", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.complete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Trial.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsCompleteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Trial, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Trial{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.complete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsCreateCall struct {
	s                            *Service
	parent                       string
	googlecloudaiplatformv1trial *GoogleCloudAiplatformV1Trial
	urlParams_                   gensupport.URLParams
	ctx_                         context.Context
	header_                      http.Header
}

// Create: Adds a user provided Trial to a Study.
//
//   - parent: The resource name of the Study to create the Trial in. Format:
//     `projects/{project}/locations/{location}/studies/{study}`.
func (r *ProjectsLocationsStudiesTrialsService) Create(parent string, googlecloudaiplatformv1trial *GoogleCloudAiplatformV1Trial) *ProjectsLocationsStudiesTrialsCreateCall {
	c := &ProjectsLocationsStudiesTrialsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1trial = googlecloudaiplatformv1trial
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsCreateCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1trial)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Trial.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Trial, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Trial{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Trial.
//
//   - name: The Trial's name. Format:
//     `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`.
func (r *ProjectsLocationsStudiesTrialsService) Delete(name string) *ProjectsLocationsStudiesTrialsDeleteCall {
	c := &ProjectsLocationsStudiesTrialsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsStudiesTrialsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Trial.
//
//   - name: The name of the Trial resource. Format:
//     `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`.
func (r *ProjectsLocationsStudiesTrialsService) Get(name string) *ProjectsLocationsStudiesTrialsGetCall {
	c := &ProjectsLocationsStudiesTrialsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesTrialsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesTrialsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Trial.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Trial, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Trial{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the Trials associated with a Study.
//
//   - parent: The resource name of the Study to list the Trial from. Format:
//     `projects/{project}/locations/{location}/studies/{study}`.
func (r *ProjectsLocationsStudiesTrialsService) List(parent string) *ProjectsLocationsStudiesTrialsListCall {
	c := &ProjectsLocationsStudiesTrialsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The number of Trials to
// retrieve per "page" of results. If unspecified, the service will pick an
// appropriate default.
func (c *ProjectsLocationsStudiesTrialsListCall) PageSize(pageSize int64) *ProjectsLocationsStudiesTrialsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token to request
// the next page of results. If unspecified, there are no subsequent pages.
func (c *ProjectsLocationsStudiesTrialsListCall) PageToken(pageToken string) *ProjectsLocationsStudiesTrialsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesTrialsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesTrialsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsListCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListTrialsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListTrialsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListTrialsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsStudiesTrialsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListTrialsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsStudiesTrialsListOptimalTrialsCall struct {
	s                                               *Service
	parent                                          string
	googlecloudaiplatformv1listoptimaltrialsrequest *GoogleCloudAiplatformV1ListOptimalTrialsRequest
	urlParams_                                      gensupport.URLParams
	ctx_                                            context.Context
	header_                                         http.Header
}

// ListOptimalTrials: Lists the pareto-optimal Trials for multi-objective Study
// or the optimal Trials for single-objective Study. The definition of
// pareto-optimal can be checked in wiki page.
// https://en.wikipedia.org/wiki/Pareto_efficiency
//
// - parent: The name of the Study that the optimal Trial belongs to.
func (r *ProjectsLocationsStudiesTrialsService) ListOptimalTrials(parent string, googlecloudaiplatformv1listoptimaltrialsrequest *GoogleCloudAiplatformV1ListOptimalTrialsRequest) *ProjectsLocationsStudiesTrialsListOptimalTrialsCall {
	c := &ProjectsLocationsStudiesTrialsListOptimalTrialsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1listoptimaltrialsrequest = googlecloudaiplatformv1listoptimaltrialsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsListOptimalTrialsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsListOptimalTrialsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1listoptimaltrialsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials:listOptimalTrials")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.listOptimalTrials", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.listOptimalTrials" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListOptimalTrialsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListOptimalTrialsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListOptimalTrialsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.listOptimalTrials", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsStopCall struct {
	s                                       *Service
	name                                    string
	googlecloudaiplatformv1stoptrialrequest *GoogleCloudAiplatformV1StopTrialRequest
	urlParams_                              gensupport.URLParams
	ctx_                                    context.Context
	header_                                 http.Header
}

// Stop: Stops a Trial.
//
//   - name: The Trial's name. Format:
//     `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`.
func (r *ProjectsLocationsStudiesTrialsService) Stop(name string, googlecloudaiplatformv1stoptrialrequest *GoogleCloudAiplatformV1StopTrialRequest) *ProjectsLocationsStudiesTrialsStopCall {
	c := &ProjectsLocationsStudiesTrialsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1stoptrialrequest = googlecloudaiplatformv1stoptrialrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsStopCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsStopCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsStopCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsStopCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsStopCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1stoptrialrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.stop", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.stop" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Trial.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsStopCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Trial, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Trial{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.stop", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsSuggestCall struct {
	s                                           *Service
	parent                                      string
	googlecloudaiplatformv1suggesttrialsrequest *GoogleCloudAiplatformV1SuggestTrialsRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// Suggest: Adds one or more Trials to a Study, with parameter values suggested
// by Vertex AI Vizier. Returns a long-running operation associated with the
// generation of Trial suggestions. When this long-running operation succeeds,
// it will contain a SuggestTrialsResponse.
//
//   - parent: The project and location that the Study belongs to. Format:
//     `projects/{project}/locations/{location}/studies/{study}`.
func (r *ProjectsLocationsStudiesTrialsService) Suggest(parent string, googlecloudaiplatformv1suggesttrialsrequest *GoogleCloudAiplatformV1SuggestTrialsRequest) *ProjectsLocationsStudiesTrialsSuggestCall {
	c := &ProjectsLocationsStudiesTrialsSuggestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1suggesttrialsrequest = googlecloudaiplatformv1suggesttrialsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsSuggestCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsSuggestCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsSuggestCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsSuggestCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsSuggestCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsSuggestCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1suggesttrialsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trials:suggest")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.suggest", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.suggest" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsSuggestCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.suggest", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsStudiesTrialsOperationsService) Cancel(name string) *ProjectsLocationsStudiesTrialsOperationsCancelCall {
	c := &ProjectsLocationsStudiesTrialsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsStudiesTrialsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsStudiesTrialsOperationsService) Delete(name string) *ProjectsLocationsStudiesTrialsOperationsDeleteCall {
	c := &ProjectsLocationsStudiesTrialsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsStudiesTrialsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsStudiesTrialsOperationsService) Get(name string) *ProjectsLocationsStudiesTrialsOperationsGetCall {
	c := &ProjectsLocationsStudiesTrialsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesTrialsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsStudiesTrialsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsStudiesTrialsOperationsService) List(name string) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c := &ProjectsLocationsStudiesTrialsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Filter(filter string) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsStudiesTrialsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsStudiesTrialsOperationsService) Wait(name string) *ProjectsLocationsStudiesTrialsOperationsWaitCall {
	c := &ProjectsLocationsStudiesTrialsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsStudiesTrialsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsStudiesTrialsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsStudiesTrialsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsStudiesTrialsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsStudiesTrialsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsStudiesTrialsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.studies.trials.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsStudiesTrialsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.studies.trials.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsBatchReadCall struct {
	s            *Service
	tensorboard  string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// BatchRead: 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.
//
//   - tensorboard: 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 must be sub resources of
//     this Tensorboard.
func (r *ProjectsLocationsTensorboardsService) BatchRead(tensorboard string) *ProjectsLocationsTensorboardsBatchReadCall {
	c := &ProjectsLocationsTensorboardsBatchReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboard = tensorboard
	return c
}

// TimeSeries sets the optional parameter "timeSeries": Required. The resource
// names of the TensorboardTimeSeries to read data from. Format:
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experimen
// ts/{experiment}/runs/{run}/timeSeries/{time_series}`
func (c *ProjectsLocationsTensorboardsBatchReadCall) TimeSeries(timeSeries ...string) *ProjectsLocationsTensorboardsBatchReadCall {
	c.urlParams_.SetMulti("timeSeries", append([]string{}, timeSeries...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsBatchReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsBatchReadCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsBatchReadCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsBatchReadCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsBatchReadCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsBatchReadCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsBatchReadCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsBatchReadCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+tensorboard}:batchRead")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboard": c.tensorboard,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.batchRead", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.batchRead" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse.ServerResp
// onse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsBatchReadCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.batchRead", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsCreateCall struct {
	s                                  *Service
	parent                             string
	googlecloudaiplatformv1tensorboard *GoogleCloudAiplatformV1Tensorboard
	urlParams_                         gensupport.URLParams
	ctx_                               context.Context
	header_                            http.Header
}

// Create: Creates a Tensorboard.
//
//   - parent: The resource name of the Location to create the Tensorboard in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsTensorboardsService) Create(parent string, googlecloudaiplatformv1tensorboard *GoogleCloudAiplatformV1Tensorboard) *ProjectsLocationsTensorboardsCreateCall {
	c := &ProjectsLocationsTensorboardsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1tensorboard = googlecloudaiplatformv1tensorboard
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboard)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/tensorboards")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a Tensorboard.
//
//   - name: The name of the Tensorboard to be deleted. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
func (r *ProjectsLocationsTensorboardsService) Delete(name string) *ProjectsLocationsTensorboardsDeleteCall {
	c := &ProjectsLocationsTensorboardsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Tensorboard.
//
//   - name: The name of the Tensorboard resource. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
func (r *ProjectsLocationsTensorboardsService) Get(name string) *ProjectsLocationsTensorboardsGetCall {
	c := &ProjectsLocationsTensorboardsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1Tensorboard.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1Tensorboard, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1Tensorboard{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Tensorboards in a Location.
//
//   - parent: The resource name of the Location to list Tensorboards. Format:
//     `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsTensorboardsService) List(parent string) *ProjectsLocationsTensorboardsListCall {
	c := &ProjectsLocationsTensorboardsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Lists the Tensorboards that
// match the filter expression.
func (c *ProjectsLocationsTensorboardsListCall) Filter(filter string) *ProjectsLocationsTensorboardsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": Field to use to sort the
// list.
func (c *ProjectsLocationsTensorboardsListCall) OrderBy(orderBy string) *ProjectsLocationsTensorboardsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsTensorboardsListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous TensorboardService.ListTensorboards call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters provided
// to TensorboardService.ListTensorboards must match the call that provided the
// page token.
func (c *ProjectsLocationsTensorboardsListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsTensorboardsListCall) ReadMask(readMask string) *ProjectsLocationsTensorboardsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/tensorboards")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListTensorboardsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListTensorboardsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListTensorboardsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListTensorboardsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsPatchCall struct {
	s                                  *Service
	name                               string
	googlecloudaiplatformv1tensorboard *GoogleCloudAiplatformV1Tensorboard
	urlParams_                         gensupport.URLParams
	ctx_                               context.Context
	header_                            http.Header
}

// Patch: Updates a Tensorboard.
//
//   - name: Output only. Name of the Tensorboard. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
func (r *ProjectsLocationsTensorboardsService) Patch(name string, googlecloudaiplatformv1tensorboard *GoogleCloudAiplatformV1Tensorboard) *ProjectsLocationsTensorboardsPatchCall {
	c := &ProjectsLocationsTensorboardsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1tensorboard = googlecloudaiplatformv1tensorboard
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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.
func (c *ProjectsLocationsTensorboardsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTensorboardsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboard)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsReadSizeCall struct {
	s            *Service
	tensorboard  string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ReadSize: Returns the storage size for a given TensorBoard instance.
//
//   - tensorboard: The name of the Tensorboard resource. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
func (r *ProjectsLocationsTensorboardsService) ReadSize(tensorboard string) *ProjectsLocationsTensorboardsReadSizeCall {
	c := &ProjectsLocationsTensorboardsReadSizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboard = tensorboard
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsReadSizeCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsReadSizeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsReadSizeCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsReadSizeCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsReadSizeCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsReadSizeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsReadSizeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsReadSizeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+tensorboard}:readSize")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboard": c.tensorboard,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.readSize", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.readSize" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReadTensorboardSizeResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsReadSizeCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReadTensorboardSizeResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReadTensorboardSizeResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.readSize", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsReadUsageCall struct {
	s            *Service
	tensorboard  string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ReadUsage: Returns a list of monthly active users for a given TensorBoard
// instance.
//
//   - tensorboard: The name of the Tensorboard resource. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
func (r *ProjectsLocationsTensorboardsService) ReadUsage(tensorboard string) *ProjectsLocationsTensorboardsReadUsageCall {
	c := &ProjectsLocationsTensorboardsReadUsageCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboard = tensorboard
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsReadUsageCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsReadUsageCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsReadUsageCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsReadUsageCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsReadUsageCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsReadUsageCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsReadUsageCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsReadUsageCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+tensorboard}:readUsage")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboard": c.tensorboard,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.readUsage", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.readUsage" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReadTensorboardUsageResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsReadUsageCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReadTensorboardUsageResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReadTensorboardUsageResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.readUsage", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsBatchCreateCall struct {
	s                                                              *Service
	parent                                                         string
	googlecloudaiplatformv1batchcreatetensorboardtimeseriesrequest *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest
	urlParams_                                                     gensupport.URLParams
	ctx_                                                           context.Context
	header_                                                        http.Header
}

// BatchCreate: Batch create TensorboardTimeSeries that belong to a
// TensorboardExperiment.
//
//   - parent: The resource name of the TensorboardExperiment to create the
//     TensorboardTimeSeries in. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}` The TensorboardRuns referenced by the parent fields in
//     the CreateTensorboardTimeSeriesRequest messages must be sub resources of
//     this TensorboardExperiment.
func (r *ProjectsLocationsTensorboardsExperimentsService) BatchCreate(parent string, googlecloudaiplatformv1batchcreatetensorboardtimeseriesrequest *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest) *ProjectsLocationsTensorboardsExperimentsBatchCreateCall {
	c := &ProjectsLocationsTensorboardsExperimentsBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchcreatetensorboardtimeseriesrequest = googlecloudaiplatformv1batchcreatetensorboardtimeseriesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsBatchCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsBatchCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsBatchCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsBatchCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchcreatetensorboardtimeseriesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:batchCreate")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.batchCreate" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse.ServerRespon
// se.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsBatchCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.batchCreate", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsCreateCall struct {
	s                                            *Service
	parent                                       string
	googlecloudaiplatformv1tensorboardexperiment *GoogleCloudAiplatformV1TensorboardExperiment
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Create: Creates a TensorboardExperiment.
//
//   - parent: The resource name of the Tensorboard to create the
//     TensorboardExperiment in. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
func (r *ProjectsLocationsTensorboardsExperimentsService) Create(parent string, googlecloudaiplatformv1tensorboardexperiment *GoogleCloudAiplatformV1TensorboardExperiment) *ProjectsLocationsTensorboardsExperimentsCreateCall {
	c := &ProjectsLocationsTensorboardsExperimentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1tensorboardexperiment = googlecloudaiplatformv1tensorboardexperiment
	return c
}

// TensorboardExperimentId sets the optional parameter
// "tensorboardExperimentId": 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-/`.
func (c *ProjectsLocationsTensorboardsExperimentsCreateCall) TensorboardExperimentId(tensorboardExperimentId string) *ProjectsLocationsTensorboardsExperimentsCreateCall {
	c.urlParams_.Set("tensorboardExperimentId", tensorboardExperimentId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboardexperiment)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/experiments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardExperiment.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardExperiment, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardExperiment{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a TensorboardExperiment.
//
//   - name: The name of the TensorboardExperiment to be deleted. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}`.
func (r *ProjectsLocationsTensorboardsExperimentsService) Delete(name string) *ProjectsLocationsTensorboardsExperimentsDeleteCall {
	c := &ProjectsLocationsTensorboardsExperimentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a TensorboardExperiment.
//
//   - name: The name of the TensorboardExperiment resource. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}`.
func (r *ProjectsLocationsTensorboardsExperimentsService) Get(name string) *ProjectsLocationsTensorboardsExperimentsGetCall {
	c := &ProjectsLocationsTensorboardsExperimentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardExperiment.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardExperiment, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardExperiment{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists TensorboardExperiments in a Location.
//
//   - parent: The resource name of the Tensorboard to list
//     TensorboardExperiments. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
func (r *ProjectsLocationsTensorboardsExperimentsService) List(parent string) *ProjectsLocationsTensorboardsExperimentsListCall {
	c := &ProjectsLocationsTensorboardsExperimentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Lists the
// TensorboardExperiments that match the filter expression.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Filter(filter string) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": Field to use to sort the
// list.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) OrderBy(orderBy string) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous TensorboardService.ListTensorboardExperiments call. Provide
// this to retrieve the subsequent page. When paginating, all other parameters
// provided to TensorboardService.ListTensorboardExperiments must match the
// call that provided the page token.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) ReadMask(readMask string) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/experiments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListTensorboardExperimentsResponse.ServerResponse.Hea
// der or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListTensorboardExperimentsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListTensorboardExperimentsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListTensorboardExperimentsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsExperimentsPatchCall struct {
	s                                            *Service
	name                                         string
	googlecloudaiplatformv1tensorboardexperiment *GoogleCloudAiplatformV1TensorboardExperiment
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Patch: Updates a TensorboardExperiment.
//
//   - name: Output only. Name of the TensorboardExperiment. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}`.
func (r *ProjectsLocationsTensorboardsExperimentsService) Patch(name string, googlecloudaiplatformv1tensorboardexperiment *GoogleCloudAiplatformV1TensorboardExperiment) *ProjectsLocationsTensorboardsExperimentsPatchCall {
	c := &ProjectsLocationsTensorboardsExperimentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1tensorboardexperiment = googlecloudaiplatformv1tensorboardexperiment
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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.
func (c *ProjectsLocationsTensorboardsExperimentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTensorboardsExperimentsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboardexperiment)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardExperiment.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardExperiment, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardExperiment{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsWriteCall struct {
	s                                                            *Service
	tensorboardExperiment                                        string
	googlecloudaiplatformv1writetensorboardexperimentdatarequest *GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest
	urlParams_                                                   gensupport.URLParams
	ctx_                                                         context.Context
	header_                                                      http.Header
}

// Write: Write time series data points of multiple TensorboardTimeSeries in
// multiple TensorboardRun's. If any data fail to be ingested, an error is
// returned.
//
//   - tensorboardExperiment: The resource name of the TensorboardExperiment to
//     write data to. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}`.
func (r *ProjectsLocationsTensorboardsExperimentsService) Write(tensorboardExperiment string, googlecloudaiplatformv1writetensorboardexperimentdatarequest *GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest) *ProjectsLocationsTensorboardsExperimentsWriteCall {
	c := &ProjectsLocationsTensorboardsExperimentsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboardExperiment = tensorboardExperiment
	c.googlecloudaiplatformv1writetensorboardexperimentdatarequest = googlecloudaiplatformv1writetensorboardexperimentdatarequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsWriteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsWriteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsWriteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsWriteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsWriteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsWriteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1writetensorboardexperimentdatarequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+tensorboardExperiment}:write")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboardExperiment": c.tensorboardExperiment,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.write", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.write" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse.ServerResponse
// .Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsWriteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.write", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsTensorboardsExperimentsOperationsService) Cancel(name string) *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall {
	c := &ProjectsLocationsTensorboardsExperimentsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsTensorboardsExperimentsOperationsService) Delete(name string) *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall {
	c := &ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsTensorboardsExperimentsOperationsService) Get(name string) *ProjectsLocationsTensorboardsExperimentsOperationsGetCall {
	c := &ProjectsLocationsTensorboardsExperimentsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsTensorboardsExperimentsOperationsService) List(name string) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c := &ProjectsLocationsTensorboardsExperimentsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Filter(filter string) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsExperimentsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsTensorboardsExperimentsOperationsService) Wait(name string) *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall {
	c := &ProjectsLocationsTensorboardsExperimentsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall struct {
	s                                                        *Service
	parent                                                   string
	googlecloudaiplatformv1batchcreatetensorboardrunsrequest *GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest
	urlParams_                                               gensupport.URLParams
	ctx_                                                     context.Context
	header_                                                  http.Header
}

// BatchCreate: Batch create TensorboardRuns.
//
//   - parent: The resource name of the TensorboardExperiment to create the
//     TensorboardRuns in. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}` The parent field in the CreateTensorboardRunRequest
//     messages must match this field.
func (r *ProjectsLocationsTensorboardsExperimentsRunsService) BatchCreate(parent string, googlecloudaiplatformv1batchcreatetensorboardrunsrequest *GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest) *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1batchcreatetensorboardrunsrequest = googlecloudaiplatformv1batchcreatetensorboardrunsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1batchcreatetensorboardrunsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/runs:batchCreate")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse.ServerResponse.Hea
// der or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsCreateCall struct {
	s                                     *Service
	parent                                string
	googlecloudaiplatformv1tensorboardrun *GoogleCloudAiplatformV1TensorboardRun
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Create: Creates a TensorboardRun.
//
//   - parent: The resource name of the TensorboardExperiment to create the
//     TensorboardRun in. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsService) Create(parent string, googlecloudaiplatformv1tensorboardrun *GoogleCloudAiplatformV1TensorboardRun) *ProjectsLocationsTensorboardsExperimentsRunsCreateCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1tensorboardrun = googlecloudaiplatformv1tensorboardrun
	return c
}

// TensorboardRunId sets the optional parameter "tensorboardRunId": 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-/`.
func (c *ProjectsLocationsTensorboardsExperimentsRunsCreateCall) TensorboardRunId(tensorboardRunId string) *ProjectsLocationsTensorboardsExperimentsRunsCreateCall {
	c.urlParams_.Set("tensorboardRunId", tensorboardRunId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboardrun)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/runs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardRun.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardRun, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardRun{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a TensorboardRun.
//
//   - name: The name of the TensorboardRun to be deleted. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsService) Delete(name string) *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a TensorboardRun.
//
//   - name: The name of the TensorboardRun resource. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsService) Get(name string) *ProjectsLocationsTensorboardsExperimentsRunsGetCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardRun.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardRun, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardRun{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists TensorboardRuns in a Location.
//
//   - parent: The resource name of the TensorboardExperiment to list
//     TensorboardRuns. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsService) List(parent string) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Lists the TensorboardRuns that
// match the filter expression.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Filter(filter string) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": Field to use to sort the
// list.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) OrderBy(orderBy string) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous TensorboardService.ListTensorboardRuns call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters provided
// to TensorboardService.ListTensorboardRuns must match the call that provided
// the page token.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) ReadMask(readMask string) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/runs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListTensorboardRunsResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListTensorboardRunsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListTensorboardRunsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListTensorboardRunsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsExperimentsRunsPatchCall struct {
	s                                     *Service
	name                                  string
	googlecloudaiplatformv1tensorboardrun *GoogleCloudAiplatformV1TensorboardRun
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Patch: Updates a TensorboardRun.
//
//   - name: Output only. Name of the TensorboardRun. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsService) Patch(name string, googlecloudaiplatformv1tensorboardrun *GoogleCloudAiplatformV1TensorboardRun) *ProjectsLocationsTensorboardsExperimentsRunsPatchCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1tensorboardrun = googlecloudaiplatformv1tensorboardrun
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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.
func (c *ProjectsLocationsTensorboardsExperimentsRunsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTensorboardsExperimentsRunsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboardrun)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardRun.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardRun, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardRun{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsWriteCall struct {
	s                                                     *Service
	tensorboardRun                                        string
	googlecloudaiplatformv1writetensorboardrundatarequest *GoogleCloudAiplatformV1WriteTensorboardRunDataRequest
	urlParams_                                            gensupport.URLParams
	ctx_                                                  context.Context
	header_                                               http.Header
}

// Write: Write time series data points into multiple TensorboardTimeSeries
// under a TensorboardRun. If any data fail to be ingested, an error is
// returned.
//
//   - tensorboardRun: The resource name of the TensorboardRun to write data to.
//     Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsService) Write(tensorboardRun string, googlecloudaiplatformv1writetensorboardrundatarequest *GoogleCloudAiplatformV1WriteTensorboardRunDataRequest) *ProjectsLocationsTensorboardsExperimentsRunsWriteCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboardRun = tensorboardRun
	c.googlecloudaiplatformv1writetensorboardrundatarequest = googlecloudaiplatformv1writetensorboardrundatarequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsWriteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsWriteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsWriteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsWriteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsWriteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsWriteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1writetensorboardrundatarequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+tensorboardRun}:write")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboardRun": c.tensorboardRun,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.write", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.write" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1WriteTensorboardRunDataResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsWriteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1WriteTensorboardRunDataResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1WriteTensorboardRunDataResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.write", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsTensorboardsExperimentsRunsOperationsService) Cancel(name string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsTensorboardsExperimentsRunsOperationsService) Delete(name string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsTensorboardsExperimentsRunsOperationsService) Get(name string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsTensorboardsExperimentsRunsOperationsService) List(name string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Filter(filter string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsTensorboardsExperimentsRunsOperationsService) Wait(name string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall struct {
	s                                            *Service
	parent                                       string
	googlecloudaiplatformv1tensorboardtimeseries *GoogleCloudAiplatformV1TensorboardTimeSeries
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Create: Creates a TensorboardTimeSeries.
//
//   - parent: The resource name of the TensorboardRun to create the
//     TensorboardTimeSeries in. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) Create(parent string, googlecloudaiplatformv1tensorboardtimeseries *GoogleCloudAiplatformV1TensorboardTimeSeries) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1tensorboardtimeseries = googlecloudaiplatformv1tensorboardtimeseries
	return c
}

// TensorboardTimeSeriesId sets the optional parameter
// "tensorboardTimeSeriesId": 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{0,
// 127}"
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall) TensorboardTimeSeriesId(tensorboardTimeSeriesId string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall {
	c.urlParams_.Set("tensorboardTimeSeriesId", tensorboardTimeSeriesId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboardtimeseries)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/timeSeries")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardTimeSeries.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardTimeSeries, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardTimeSeries{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a TensorboardTimeSeries.
//
//   - name: The name of the TensorboardTimeSeries to be deleted. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}/timeSeries/{time_series}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) Delete(name string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall struct {
	s                                                             *Service
	tensorboardTimeSeries                                         string
	googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest *GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest
	urlParams_                                                    gensupport.URLParams
	ctx_                                                          context.Context
	header_                                                       http.Header
}

// ExportTensorboardTimeSeries: Exports a TensorboardTimeSeries' data. Data is
// returned in paginated responses.
//
//   - tensorboardTimeSeries: The resource name of the TensorboardTimeSeries to
//     export data from. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}/timeSeries/{time_series}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) ExportTensorboardTimeSeries(tensorboardTimeSeries string, googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest *GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboardTimeSeries = tensorboardTimeSeries
	c.googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest = googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+tensorboardTimeSeries}:exportTensorboardTimeSeries")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboardTimeSeries": c.tensorboardTimeSeries,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse.ServerRespons
// e.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse) error) error {
	c.ctx_ = ctx
	defer func(pt string) { c.googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest.PageToken = pt }(c.googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest.PageToken)
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest.PageToken = x.NextPageToken
	}
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a TensorboardTimeSeries.
//
//   - name: The name of the TensorboardTimeSeries resource. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}/timeSeries/{time_series}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) Get(name string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardTimeSeries.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardTimeSeries, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardTimeSeries{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists TensorboardTimeSeries in a Location.
//
//   - parent: The resource name of the TensorboardRun to list
//     TensorboardTimeSeries. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) List(parent string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Lists the TensorboardTimeSeries
// that match the filter expression.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Filter(filter string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": Field to use to sort the
// list.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) OrderBy(orderBy string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": 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.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous TensorboardService.ListTensorboardTimeSeries call. Provide
// this to retrieve the subsequent page. When paginating, all other parameters
// provided to TensorboardService.ListTensorboardTimeSeries must match the call
// that provided the page token.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) ReadMask(readMask string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/timeSeries")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse.ServerResponse.Head
// er or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall struct {
	s                                            *Service
	name                                         string
	googlecloudaiplatformv1tensorboardtimeseries *GoogleCloudAiplatformV1TensorboardTimeSeries
	urlParams_                                   gensupport.URLParams
	ctx_                                         context.Context
	header_                                      http.Header
}

// Patch: Updates a TensorboardTimeSeries.
//
// - name: Output only. Name of the TensorboardTimeSeries.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) Patch(name string, googlecloudaiplatformv1tensorboardtimeseries *GoogleCloudAiplatformV1TensorboardTimeSeries) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1tensorboardtimeseries = googlecloudaiplatformv1tensorboardtimeseries
	return c
}

// UpdateMask sets the optional parameter "updateMask": 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.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tensorboardtimeseries)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TensorboardTimeSeries.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TensorboardTimeSeries, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TensorboardTimeSeries{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall struct {
	s                     *Service
	tensorboardTimeSeries string
	urlParams_            gensupport.URLParams
	ifNoneMatch_          string
	ctx_                  context.Context
	header_               http.Header
}

// Read: 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.
//
//   - tensorboardTimeSeries: The resource name of the TensorboardTimeSeries to
//     read data from. Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}/timeSeries/{time_series}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) Read(tensorboardTimeSeries string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboardTimeSeries = tensorboardTimeSeries
	return c
}

// Filter sets the optional parameter "filter": Reads the
// TensorboardTimeSeries' data that match the filter expression.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) Filter(filter string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// MaxDataPoints sets the optional parameter "maxDataPoints": 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.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) MaxDataPoints(maxDataPoints int64) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c.urlParams_.Set("maxDataPoints", fmt.Sprint(maxDataPoints))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+tensorboardTimeSeries}:read")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboardTimeSeries": c.tensorboardTimeSeries,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse.ServerResponse.
// Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall struct {
	s            *Service
	timeSeries   string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// ReadBlobData: 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.
//
//   - timeSeries: The resource name of the TensorboardTimeSeries to list Blobs.
//     Format:
//     `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experim
//     ents/{experiment}/runs/{run}/timeSeries/{time_series}`.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) ReadBlobData(timeSeries string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.timeSeries = timeSeries
	return c
}

// BlobIds sets the optional parameter "blobIds": IDs of the blobs to read.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) BlobIds(blobIds ...string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall {
	c.urlParams_.SetMulti("blobIds", append([]string{}, blobIds...))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+timeSeries}:readBlobData")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"timeSeries": c.timeSeries,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService) Cancel(name string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService) Delete(name string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService) Get(name string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService) List(name string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Filter(filter string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsService) Wait(name string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsTensorboardsOperationsService) Cancel(name string) *ProjectsLocationsTensorboardsOperationsCancelCall {
	c := &ProjectsLocationsTensorboardsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsTensorboardsOperationsService) Delete(name string) *ProjectsLocationsTensorboardsOperationsDeleteCall {
	c := &ProjectsLocationsTensorboardsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsTensorboardsOperationsService) Get(name string) *ProjectsLocationsTensorboardsOperationsGetCall {
	c := &ProjectsLocationsTensorboardsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTensorboardsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsTensorboardsOperationsService) List(name string) *ProjectsLocationsTensorboardsOperationsListCall {
	c := &ProjectsLocationsTensorboardsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Filter(filter string) *ProjectsLocationsTensorboardsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTensorboardsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsTensorboardsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsTensorboardsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsTensorboardsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsTensorboardsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsTensorboardsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTensorboardsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTensorboardsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsTensorboardsOperationsService) Wait(name string) *ProjectsLocationsTensorboardsOperationsWaitCall {
	c := &ProjectsLocationsTensorboardsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsTensorboardsOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsTensorboardsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTensorboardsOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTensorboardsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTensorboardsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTensorboardsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tensorboards.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesCancelCall struct {
	s                                                    *Service
	name                                                 string
	googlecloudaiplatformv1canceltrainingpipelinerequest *GoogleCloudAiplatformV1CancelTrainingPipelineRequest
	urlParams_                                           gensupport.URLParams
	ctx_                                                 context.Context
	header_                                              http.Header
}

// Cancel: 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 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 value
// with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and
// TrainingPipeline.state is set to `CANCELLED`.
//
//   - name: The name of the TrainingPipeline to cancel. Format:
//     `projects/{project}/locations/{location}/trainingPipelines/{training_pipeli
//     ne}`.
func (r *ProjectsLocationsTrainingPipelinesService) Cancel(name string, googlecloudaiplatformv1canceltrainingpipelinerequest *GoogleCloudAiplatformV1CancelTrainingPipelineRequest) *ProjectsLocationsTrainingPipelinesCancelCall {
	c := &ProjectsLocationsTrainingPipelinesCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1canceltrainingpipelinerequest = googlecloudaiplatformv1canceltrainingpipelinerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesCancelCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1canceltrainingpipelinerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTrainingPipelinesCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesCreateCall struct {
	s                                       *Service
	parent                                  string
	googlecloudaiplatformv1trainingpipeline *GoogleCloudAiplatformV1TrainingPipeline
	urlParams_                              gensupport.URLParams
	ctx_                                    context.Context
	header_                                 http.Header
}

// Create: Creates a TrainingPipeline. A created TrainingPipeline right away
// will be attempted to be run.
//
//   - parent: The resource name of the Location to create the TrainingPipeline
//     in. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsTrainingPipelinesService) Create(parent string, googlecloudaiplatformv1trainingpipeline *GoogleCloudAiplatformV1TrainingPipeline) *ProjectsLocationsTrainingPipelinesCreateCall {
	c := &ProjectsLocationsTrainingPipelinesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1trainingpipeline = googlecloudaiplatformv1trainingpipeline
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesCreateCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1trainingpipeline)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trainingPipelines")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TrainingPipeline.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTrainingPipelinesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TrainingPipeline, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TrainingPipeline{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a TrainingPipeline.
//
//   - name: The name of the TrainingPipeline resource to be deleted. Format:
//     `projects/{project}/locations/{location}/trainingPipelines/{training_pipeli
//     ne}`.
func (r *ProjectsLocationsTrainingPipelinesService) Delete(name string) *ProjectsLocationsTrainingPipelinesDeleteCall {
	c := &ProjectsLocationsTrainingPipelinesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTrainingPipelinesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a TrainingPipeline.
//
//   - name: The name of the TrainingPipeline resource. Format:
//     `projects/{project}/locations/{location}/trainingPipelines/{training_pipeli
//     ne}`.
func (r *ProjectsLocationsTrainingPipelinesService) Get(name string) *ProjectsLocationsTrainingPipelinesGetCall {
	c := &ProjectsLocationsTrainingPipelinesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTrainingPipelinesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTrainingPipelinesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesGetCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TrainingPipeline.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTrainingPipelinesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TrainingPipeline, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TrainingPipeline{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists TrainingPipelines in a Location.
//
//   - parent: The resource name of the Location to list the TrainingPipelines
//     from. Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsTrainingPipelinesService) List(parent string) *ProjectsLocationsTrainingPipelinesListCall {
	c := &ProjectsLocationsTrainingPipelinesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": 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*"
func (c *ProjectsLocationsTrainingPipelinesListCall) Filter(filter string) *ProjectsLocationsTrainingPipelinesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTrainingPipelinesListCall) PageSize(pageSize int64) *ProjectsLocationsTrainingPipelinesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained via ListTrainingPipelinesResponse.next_page_token
// of the previous PipelineService.ListTrainingPipelines call.
func (c *ProjectsLocationsTrainingPipelinesListCall) PageToken(pageToken string) *ProjectsLocationsTrainingPipelinesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReadMask sets the optional parameter "readMask": Mask specifying which
// fields to read.
func (c *ProjectsLocationsTrainingPipelinesListCall) ReadMask(readMask string) *ProjectsLocationsTrainingPipelinesListCall {
	c.urlParams_.Set("readMask", readMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTrainingPipelinesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTrainingPipelinesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesListCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/trainingPipelines")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListTrainingPipelinesResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTrainingPipelinesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListTrainingPipelinesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListTrainingPipelinesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTrainingPipelinesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListTrainingPipelinesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTrainingPipelinesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsTrainingPipelinesOperationsService) Cancel(name string) *ProjectsLocationsTrainingPipelinesOperationsCancelCall {
	c := &ProjectsLocationsTrainingPipelinesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTrainingPipelinesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsTrainingPipelinesOperationsService) Delete(name string) *ProjectsLocationsTrainingPipelinesOperationsDeleteCall {
	c := &ProjectsLocationsTrainingPipelinesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTrainingPipelinesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsTrainingPipelinesOperationsService) Get(name string) *ProjectsLocationsTrainingPipelinesOperationsGetCall {
	c := &ProjectsLocationsTrainingPipelinesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTrainingPipelinesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTrainingPipelinesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsTrainingPipelinesOperationsService) List(name string) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c := &ProjectsLocationsTrainingPipelinesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Filter(filter string) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) PageToken(pageToken string) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTrainingPipelinesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ProjectsLocationsTrainingPipelinesOperationsService) Wait(name string) *ProjectsLocationsTrainingPipelinesOperationsWaitCall {
	c := &ProjectsLocationsTrainingPipelinesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ProjectsLocationsTrainingPipelinesOperationsWaitCall) Timeout(timeout string) *ProjectsLocationsTrainingPipelinesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTrainingPipelinesOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTrainingPipelinesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTrainingPipelinesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTrainingPipelinesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.trainingPipelines.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTrainingPipelinesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.trainingPipelines.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsCancelCall struct {
	s                                             *Service
	name                                          string
	googlecloudaiplatformv1canceltuningjobrequest *GoogleCloudAiplatformV1CancelTuningJobRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// Cancel: Cancels a tuning job. Starts an asynchronous cancellation request.
// The server makes a best effort to cancel the job, but success is not
// guaranteed. Clients can use GenAiTuningService.GetTuningJob or other methods
// to check whether the cancellation succeeded or whether the job completed
// despite cancellation. On successful cancellation, the tuning job is not
// deleted. Instead, its state is set to `CANCELLED`, and `error` is set to a
// status with a `google.rpc.Status.code` of 1, corresponding to
// `Code.CANCELLED`.
//
//   - name: The name of the tuning job to cancel. Format:
//     `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`.
func (r *ProjectsLocationsTuningJobsService) Cancel(name string, googlecloudaiplatformv1canceltuningjobrequest *GoogleCloudAiplatformV1CancelTuningJobRequest) *ProjectsLocationsTuningJobsCancelCall {
	c := &ProjectsLocationsTuningJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1canceltuningjobrequest = googlecloudaiplatformv1canceltuningjobrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1canceltuningjobrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTuningJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsCreateCall struct {
	s                                *Service
	parent                           string
	googlecloudaiplatformv1tuningjob *GoogleCloudAiplatformV1TuningJob
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Create: Creates a tuning job. A created tuning job will be subsequently
// executed to start the model tuning process.
//
//   - parent: The resource name of the location to create the tuning job in.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsTuningJobsService) Create(parent string, googlecloudaiplatformv1tuningjob *GoogleCloudAiplatformV1TuningJob) *ProjectsLocationsTuningJobsCreateCall {
	c := &ProjectsLocationsTuningJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1tuningjob = googlecloudaiplatformv1tuningjob
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1tuningjob)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/tuningJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TuningJob.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTuningJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TuningJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TuningJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a tuning job.
//
//   - name: The name of the tuning job to retrieve. Format:
//     `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`.
func (r *ProjectsLocationsTuningJobsService) Get(name string) *ProjectsLocationsTuningJobsGetCall {
	c := &ProjectsLocationsTuningJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTuningJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTuningJobsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsGetCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1TuningJob.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTuningJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1TuningJob, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1TuningJob{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists tuning jobs in a location.
//
//   - parent: The resource name of the location to list the tuning jobs from.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsTuningJobsService) List(parent string) *ProjectsLocationsTuningJobsListCall {
	c := &ProjectsLocationsTuningJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsTuningJobsListCall) Filter(filter string) *ProjectsLocationsTuningJobsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTuningJobsListCall) PageSize(pageSize int64) *ProjectsLocationsTuningJobsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token. Typically obtained from ListTuningJobsResponse.next_page_token of the
// previous GenAiTuningService.ListTuningJobs call.
func (c *ProjectsLocationsTuningJobsListCall) PageToken(pageToken string) *ProjectsLocationsTuningJobsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTuningJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTuningJobsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsListCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/tuningJobs")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListTuningJobsResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTuningJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListTuningJobsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListTuningJobsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTuningJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListTuningJobsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsTuningJobsRebaseTunedModelCall struct {
	s                                              *Service
	parent                                         string
	googlecloudaiplatformv1rebasetunedmodelrequest *GoogleCloudAiplatformV1RebaseTunedModelRequest
	urlParams_                                     gensupport.URLParams
	ctx_                                           context.Context
	header_                                        http.Header
}

// RebaseTunedModel: Rebase a tuned model. A rebase operation takes a model
// that was previously tuned on a base model version, and retunes it on a new
// base model version. The rebase operation creates a new tuning job and a new
// tuned model.
//
//   - parent: The resource name of the location in which to rebase the Model.
//     Format: `projects/{project}/locations/{location}`.
func (r *ProjectsLocationsTuningJobsService) RebaseTunedModel(parent string, googlecloudaiplatformv1rebasetunedmodelrequest *GoogleCloudAiplatformV1RebaseTunedModelRequest) *ProjectsLocationsTuningJobsRebaseTunedModelCall {
	c := &ProjectsLocationsTuningJobsRebaseTunedModelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1rebasetunedmodelrequest = googlecloudaiplatformv1rebasetunedmodelrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsRebaseTunedModelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsRebaseTunedModelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsRebaseTunedModelCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsRebaseTunedModelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsRebaseTunedModelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsRebaseTunedModelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1rebasetunedmodelrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/tuningJobs:rebaseTunedModel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.rebaseTunedModel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.rebaseTunedModel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTuningJobsRebaseTunedModelCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.rebaseTunedModel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsTuningJobsOperationsService) Cancel(name string) *ProjectsLocationsTuningJobsOperationsCancelCall {
	c := &ProjectsLocationsTuningJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTuningJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsTuningJobsOperationsService) Delete(name string) *ProjectsLocationsTuningJobsOperationsDeleteCall {
	c := &ProjectsLocationsTuningJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTuningJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsTuningJobsOperationsService) Get(name string) *ProjectsLocationsTuningJobsOperationsGetCall {
	c := &ProjectsLocationsTuningJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTuningJobsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTuningJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTuningJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsTuningJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsTuningJobsOperationsService) List(name string) *ProjectsLocationsTuningJobsOperationsListCall {
	c := &ProjectsLocationsTuningJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsTuningJobsOperationsListCall) Filter(filter string) *ProjectsLocationsTuningJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsTuningJobsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsTuningJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsTuningJobsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsTuningJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsTuningJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsTuningJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsTuningJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTuningJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsTuningJobsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTuningJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsTuningJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTuningJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsTuningJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTuningJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tuningJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsTuningJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.projects.locations.tuningJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsTuningJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type PublishersModelsComputeTokensCall struct {
	s                                           *Service
	endpoint                                    string
	googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest
	urlParams_                                  gensupport.URLParams
	ctx_                                        context.Context
	header_                                     http.Header
}

// ComputeTokens: Return a list of tokens based on the input text.
//
//   - endpoint: The name of the Endpoint requested to get lists of tokens and
//     token ids.
func (r *PublishersModelsService) ComputeTokens(endpoint string, googlecloudaiplatformv1computetokensrequest *GoogleCloudAiplatformV1ComputeTokensRequest) *PublishersModelsComputeTokensCall {
	c := &PublishersModelsComputeTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1computetokensrequest = googlecloudaiplatformv1computetokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsComputeTokensCall) Fields(s ...googleapi.Field) *PublishersModelsComputeTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsComputeTokensCall) Context(ctx context.Context) *PublishersModelsComputeTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsComputeTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsComputeTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1computetokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:computeTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.computeTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.computeTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ComputeTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsComputeTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ComputeTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ComputeTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.computeTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PublishersModelsCountTokensCall struct {
	s                                         *Service
	endpoint                                  string
	googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// CountTokens: Perform a token counting.
//
//   - endpoint: The name of the Endpoint requested to perform token counting.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *PublishersModelsService) CountTokens(endpoint string, googlecloudaiplatformv1counttokensrequest *GoogleCloudAiplatformV1CountTokensRequest) *PublishersModelsCountTokensCall {
	c := &PublishersModelsCountTokensCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1counttokensrequest = googlecloudaiplatformv1counttokensrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsCountTokensCall) Fields(s ...googleapi.Field) *PublishersModelsCountTokensCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsCountTokensCall) Context(ctx context.Context) *PublishersModelsCountTokensCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsCountTokensCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsCountTokensCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1counttokensrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:countTokens")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.countTokens", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.countTokens" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1CountTokensResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsCountTokensCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1CountTokensResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1CountTokensResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.countTokens", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PublishersModelsFetchPredictOperationCall struct {
	s                                                   *Service
	endpoint                                            string
	googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest
	urlParams_                                          gensupport.URLParams
	ctx_                                                context.Context
	header_                                             http.Header
}

// FetchPredictOperation: Fetch an asynchronous online prediction operation.
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *PublishersModelsService) FetchPredictOperation(endpoint string, googlecloudaiplatformv1fetchpredictoperationrequest *GoogleCloudAiplatformV1FetchPredictOperationRequest) *PublishersModelsFetchPredictOperationCall {
	c := &PublishersModelsFetchPredictOperationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1fetchpredictoperationrequest = googlecloudaiplatformv1fetchpredictoperationrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsFetchPredictOperationCall) Fields(s ...googleapi.Field) *PublishersModelsFetchPredictOperationCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsFetchPredictOperationCall) Context(ctx context.Context) *PublishersModelsFetchPredictOperationCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsFetchPredictOperationCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsFetchPredictOperationCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1fetchpredictoperationrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:fetchPredictOperation")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.fetchPredictOperation", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.fetchPredictOperation" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsFetchPredictOperationCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.fetchPredictOperation", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PublishersModelsGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// GenerateContent: Generate content with multimodal inputs.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *PublishersModelsService) GenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *PublishersModelsGenerateContentCall {
	c := &PublishersModelsGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsGenerateContentCall) Fields(s ...googleapi.Field) *PublishersModelsGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsGenerateContentCall) Context(ctx context.Context) *PublishersModelsGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:generateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.generateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.generateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.generateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PublishersModelsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a Model Garden publisher model.
//
//   - name: The name of the PublisherModel resource. Format:
//     `publishers/{publisher}/models/{publisher_model}`.
func (r *PublishersModelsService) Get(name string) *PublishersModelsGetCall {
	c := &PublishersModelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// HuggingFaceToken sets the optional parameter "huggingFaceToken": Token used
// to access Hugging Face gated models.
func (c *PublishersModelsGetCall) HuggingFaceToken(huggingFaceToken string) *PublishersModelsGetCall {
	c.urlParams_.Set("huggingFaceToken", huggingFaceToken)
	return c
}

// IsHuggingFaceModel sets the optional parameter "isHuggingFaceModel": Boolean
// indicates whether the requested model is a Hugging Face model.
func (c *PublishersModelsGetCall) IsHuggingFaceModel(isHuggingFaceModel bool) *PublishersModelsGetCall {
	c.urlParams_.Set("isHuggingFaceModel", fmt.Sprint(isHuggingFaceModel))
	return c
}

// LanguageCode sets the optional parameter "languageCode": The IETF BCP-47
// language code representing the language in which the publisher model's text
// information should be written in.
func (c *PublishersModelsGetCall) LanguageCode(languageCode string) *PublishersModelsGetCall {
	c.urlParams_.Set("languageCode", languageCode)
	return c
}

// View sets the optional parameter "view": PublisherModel view specifying
// which fields to read.
//
// Possible values:
//
//	"PUBLISHER_MODEL_VIEW_UNSPECIFIED" - The default / unset value. The API
//
// will default to the BASIC view.
//
//	"PUBLISHER_MODEL_VIEW_BASIC" - Include basic metadata about the publisher
//
// model, but not the full contents.
//
//	"PUBLISHER_MODEL_VIEW_FULL" - Include everything.
//	"PUBLISHER_MODEL_VERSION_VIEW_BASIC" - Include: VersionId,
//
// ModelVersionExternalName, and SupportedActions.
func (c *PublishersModelsGetCall) View(view string) *PublishersModelsGetCall {
	c.urlParams_.Set("view", view)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsGetCall) Fields(s ...googleapi.Field) *PublishersModelsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *PublishersModelsGetCall) IfNoneMatch(entityTag string) *PublishersModelsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsGetCall) Context(ctx context.Context) *PublishersModelsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PublisherModel.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PublisherModel, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PublisherModel{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PublishersModelsPredictCall struct {
	s                                     *Service
	endpoint                              string
	googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Predict:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *PublishersModelsService) Predict(endpoint string, googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest) *PublishersModelsPredictCall {
	c := &PublishersModelsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictrequest = googlecloudaiplatformv1predictrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsPredictCall) Fields(s ...googleapi.Field) *PublishersModelsPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsPredictCall) Context(ctx context.Context) *PublishersModelsPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predict")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.predict", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.predict" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1PredictResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1PredictResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1PredictResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.predict", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PublishersModelsPredictLongRunningCall struct {
	s                                                *Service
	endpoint                                         string
	googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest
	urlParams_                                       gensupport.URLParams
	ctx_                                             context.Context
	header_                                          http.Header
}

// PredictLongRunning:
//
//   - endpoint: The name of the Endpoint requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or
//     `projects/{project}/locations/{location}/publishers/{publisher}/models/{mod
//     el}`.
func (r *PublishersModelsService) PredictLongRunning(endpoint string, googlecloudaiplatformv1predictlongrunningrequest *GoogleCloudAiplatformV1PredictLongRunningRequest) *PublishersModelsPredictLongRunningCall {
	c := &PublishersModelsPredictLongRunningCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.endpoint = endpoint
	c.googlecloudaiplatformv1predictlongrunningrequest = googlecloudaiplatformv1predictlongrunningrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsPredictLongRunningCall) Fields(s ...googleapi.Field) *PublishersModelsPredictLongRunningCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsPredictLongRunningCall) Context(ctx context.Context) *PublishersModelsPredictLongRunningCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsPredictLongRunningCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsPredictLongRunningCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1predictlongrunningrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+endpoint}:predictLongRunning")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"endpoint": c.endpoint,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.predictLongRunning", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.predictLongRunning" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsPredictLongRunningCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.predictLongRunning", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type PublishersModelsStreamGenerateContentCall struct {
	s                                             *Service
	model                                         string
	googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// StreamGenerateContent: Generate content with multimodal inputs with
// streaming support.
//
//   - model: The fully qualified name of the publisher model or tuned model
//     endpoint to use. Publisher model format:
//     `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
//     model endpoint format:
//     `projects/{project}/locations/{location}/endpoints/{endpoint}`.
func (r *PublishersModelsService) StreamGenerateContent(model string, googlecloudaiplatformv1generatecontentrequest *GoogleCloudAiplatformV1GenerateContentRequest) *PublishersModelsStreamGenerateContentCall {
	c := &PublishersModelsStreamGenerateContentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.model = model
	c.googlecloudaiplatformv1generatecontentrequest = googlecloudaiplatformv1generatecontentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *PublishersModelsStreamGenerateContentCall) Fields(s ...googleapi.Field) *PublishersModelsStreamGenerateContentCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *PublishersModelsStreamGenerateContentCall) Context(ctx context.Context) *PublishersModelsStreamGenerateContentCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *PublishersModelsStreamGenerateContentCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PublishersModelsStreamGenerateContentCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generatecontentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+model}:streamGenerateContent")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"model": c.model,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.streamGenerateContent", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.publishers.models.streamGenerateContent" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateContentResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *PublishersModelsStreamGenerateContentCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateContentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateContentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.publishers.models.streamGenerateContent", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *RagCorporaOperationsService) Cancel(name string) *RagCorporaOperationsCancelCall {
	c := &RagCorporaOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaOperationsCancelCall) Fields(s ...googleapi.Field) *RagCorporaOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaOperationsCancelCall) Context(ctx context.Context) *RagCorporaOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *RagCorporaOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *RagCorporaOperationsService) Delete(name string) *RagCorporaOperationsDeleteCall {
	c := &RagCorporaOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaOperationsDeleteCall) Fields(s ...googleapi.Field) *RagCorporaOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaOperationsDeleteCall) Context(ctx context.Context) *RagCorporaOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *RagCorporaOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *RagCorporaOperationsService) Get(name string) *RagCorporaOperationsGetCall {
	c := &RagCorporaOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaOperationsGetCall) Fields(s ...googleapi.Field) *RagCorporaOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *RagCorporaOperationsGetCall) IfNoneMatch(entityTag string) *RagCorporaOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaOperationsGetCall) Context(ctx context.Context) *RagCorporaOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagCorporaOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *RagCorporaOperationsService) List(name string) *RagCorporaOperationsListCall {
	c := &RagCorporaOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *RagCorporaOperationsListCall) Filter(filter string) *RagCorporaOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *RagCorporaOperationsListCall) PageSize(pageSize int64) *RagCorporaOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *RagCorporaOperationsListCall) PageToken(pageToken string) *RagCorporaOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *RagCorporaOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RagCorporaOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaOperationsListCall) Fields(s ...googleapi.Field) *RagCorporaOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *RagCorporaOperationsListCall) IfNoneMatch(entityTag string) *RagCorporaOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaOperationsListCall) Context(ctx context.Context) *RagCorporaOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagCorporaOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *RagCorporaOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type RagCorporaOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *RagCorporaOperationsService) Wait(name string) *RagCorporaOperationsWaitCall {
	c := &RagCorporaOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *RagCorporaOperationsWaitCall) Timeout(timeout string) *RagCorporaOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaOperationsWaitCall) Fields(s ...googleapi.Field) *RagCorporaOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaOperationsWaitCall) Context(ctx context.Context) *RagCorporaOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagCorporaOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaRagFilesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *RagCorporaRagFilesOperationsService) Cancel(name string) *RagCorporaRagFilesOperationsCancelCall {
	c := &RagCorporaRagFilesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaRagFilesOperationsCancelCall) Fields(s ...googleapi.Field) *RagCorporaRagFilesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaRagFilesOperationsCancelCall) Context(ctx context.Context) *RagCorporaRagFilesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaRagFilesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaRagFilesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.ragFiles.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *RagCorporaRagFilesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaRagFilesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *RagCorporaRagFilesOperationsService) Delete(name string) *RagCorporaRagFilesOperationsDeleteCall {
	c := &RagCorporaRagFilesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaRagFilesOperationsDeleteCall) Fields(s ...googleapi.Field) *RagCorporaRagFilesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaRagFilesOperationsDeleteCall) Context(ctx context.Context) *RagCorporaRagFilesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaRagFilesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaRagFilesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.ragFiles.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *RagCorporaRagFilesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaRagFilesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *RagCorporaRagFilesOperationsService) Get(name string) *RagCorporaRagFilesOperationsGetCall {
	c := &RagCorporaRagFilesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaRagFilesOperationsGetCall) Fields(s ...googleapi.Field) *RagCorporaRagFilesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *RagCorporaRagFilesOperationsGetCall) IfNoneMatch(entityTag string) *RagCorporaRagFilesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaRagFilesOperationsGetCall) Context(ctx context.Context) *RagCorporaRagFilesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaRagFilesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaRagFilesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.ragFiles.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagCorporaRagFilesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagCorporaRagFilesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *RagCorporaRagFilesOperationsService) List(name string) *RagCorporaRagFilesOperationsListCall {
	c := &RagCorporaRagFilesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *RagCorporaRagFilesOperationsListCall) Filter(filter string) *RagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *RagCorporaRagFilesOperationsListCall) PageSize(pageSize int64) *RagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *RagCorporaRagFilesOperationsListCall) PageToken(pageToken string) *RagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *RagCorporaRagFilesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaRagFilesOperationsListCall) Fields(s ...googleapi.Field) *RagCorporaRagFilesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *RagCorporaRagFilesOperationsListCall) IfNoneMatch(entityTag string) *RagCorporaRagFilesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaRagFilesOperationsListCall) Context(ctx context.Context) *RagCorporaRagFilesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaRagFilesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaRagFilesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.ragFiles.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagCorporaRagFilesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *RagCorporaRagFilesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type RagCorporaRagFilesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *RagCorporaRagFilesOperationsService) Wait(name string) *RagCorporaRagFilesOperationsWaitCall {
	c := &RagCorporaRagFilesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *RagCorporaRagFilesOperationsWaitCall) Timeout(timeout string) *RagCorporaRagFilesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagCorporaRagFilesOperationsWaitCall) Fields(s ...googleapi.Field) *RagCorporaRagFilesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagCorporaRagFilesOperationsWaitCall) Context(ctx context.Context) *RagCorporaRagFilesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagCorporaRagFilesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagCorporaRagFilesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragCorpora.ragFiles.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagCorporaRagFilesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragCorpora.ragFiles.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagEngineConfigOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *RagEngineConfigOperationsService) Cancel(name string) *RagEngineConfigOperationsCancelCall {
	c := &RagEngineConfigOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagEngineConfigOperationsCancelCall) Fields(s ...googleapi.Field) *RagEngineConfigOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagEngineConfigOperationsCancelCall) Context(ctx context.Context) *RagEngineConfigOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagEngineConfigOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagEngineConfigOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragEngineConfig.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *RagEngineConfigOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagEngineConfigOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *RagEngineConfigOperationsService) Delete(name string) *RagEngineConfigOperationsDeleteCall {
	c := &RagEngineConfigOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagEngineConfigOperationsDeleteCall) Fields(s ...googleapi.Field) *RagEngineConfigOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagEngineConfigOperationsDeleteCall) Context(ctx context.Context) *RagEngineConfigOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagEngineConfigOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagEngineConfigOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragEngineConfig.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *RagEngineConfigOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagEngineConfigOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *RagEngineConfigOperationsService) Get(name string) *RagEngineConfigOperationsGetCall {
	c := &RagEngineConfigOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagEngineConfigOperationsGetCall) Fields(s ...googleapi.Field) *RagEngineConfigOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *RagEngineConfigOperationsGetCall) IfNoneMatch(entityTag string) *RagEngineConfigOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagEngineConfigOperationsGetCall) Context(ctx context.Context) *RagEngineConfigOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagEngineConfigOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagEngineConfigOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragEngineConfig.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagEngineConfigOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RagEngineConfigOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *RagEngineConfigOperationsService) List(name string) *RagEngineConfigOperationsListCall {
	c := &RagEngineConfigOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *RagEngineConfigOperationsListCall) Filter(filter string) *RagEngineConfigOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *RagEngineConfigOperationsListCall) PageSize(pageSize int64) *RagEngineConfigOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *RagEngineConfigOperationsListCall) PageToken(pageToken string) *RagEngineConfigOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *RagEngineConfigOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RagEngineConfigOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagEngineConfigOperationsListCall) Fields(s ...googleapi.Field) *RagEngineConfigOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *RagEngineConfigOperationsListCall) IfNoneMatch(entityTag string) *RagEngineConfigOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagEngineConfigOperationsListCall) Context(ctx context.Context) *RagEngineConfigOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagEngineConfigOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagEngineConfigOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragEngineConfig.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagEngineConfigOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *RagEngineConfigOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type RagEngineConfigOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *RagEngineConfigOperationsService) Wait(name string) *RagEngineConfigOperationsWaitCall {
	c := &RagEngineConfigOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *RagEngineConfigOperationsWaitCall) Timeout(timeout string) *RagEngineConfigOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RagEngineConfigOperationsWaitCall) Fields(s ...googleapi.Field) *RagEngineConfigOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RagEngineConfigOperationsWaitCall) Context(ctx context.Context) *RagEngineConfigOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RagEngineConfigOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RagEngineConfigOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.ragEngineConfig.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RagEngineConfigOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.ragEngineConfig.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesAsyncQueryCall struct {
	s                                                       *Service
	name                                                    string
	googlecloudaiplatformv1asyncqueryreasoningenginerequest *GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest
	urlParams_                                              gensupport.URLParams
	ctx_                                                    context.Context
	header_                                                 http.Header
}

// AsyncQuery: Async query using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesService) AsyncQuery(name string, googlecloudaiplatformv1asyncqueryreasoningenginerequest *GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest) *ReasoningEnginesAsyncQueryCall {
	c := &ReasoningEnginesAsyncQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1asyncqueryreasoningenginerequest = googlecloudaiplatformv1asyncqueryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesAsyncQueryCall) Fields(s ...googleapi.Field) *ReasoningEnginesAsyncQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesAsyncQueryCall) Context(ctx context.Context) *ReasoningEnginesAsyncQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesAsyncQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesAsyncQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1asyncqueryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:asyncQuery")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.asyncQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.asyncQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesAsyncQueryCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.asyncQuery", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesCreateCall struct {
	s                                      *Service
	googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine
	urlParams_                             gensupport.URLParams
	ctx_                                   context.Context
	header_                                http.Header
}

// Create: Creates a reasoning engine.
func (r *ReasoningEnginesService) Create(googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine) *ReasoningEnginesCreateCall {
	c := &ReasoningEnginesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.googlecloudaiplatformv1reasoningengine = googlecloudaiplatformv1reasoningengine
	return c
}

// Parent sets the optional parameter "parent": Required. The resource name of
// the Location to create the ReasoningEngine in. Format:
// `projects/{project}/locations/{location}`
func (c *ReasoningEnginesCreateCall) Parent(parent string) *ReasoningEnginesCreateCall {
	c.urlParams_.Set("parent", parent)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesCreateCall) Fields(s ...googleapi.Field) *ReasoningEnginesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesCreateCall) Context(ctx context.Context) *ReasoningEnginesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1reasoningengine)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/reasoningEngines")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to be deleted. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesService) Delete(name string) *ReasoningEnginesDeleteCall {
	c := &ReasoningEnginesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": If set to true, child resources
// of this reasoning engine will also be deleted. Otherwise, the request will
// fail with FAILED_PRECONDITION error when the reasoning engine has undeleted
// child resources.
func (c *ReasoningEnginesDeleteCall) Force(force bool) *ReasoningEnginesDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesDeleteCall) Context(ctx context.Context) *ReasoningEnginesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesExecuteCodeCall struct {
	s                                         *Service
	name                                      string
	googlecloudaiplatformv1executecoderequest *GoogleCloudAiplatformV1ExecuteCodeRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// ExecuteCode: Executes code statelessly.
//
//   - name: The resource name of the sandbox environment to execute. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesService) ExecuteCode(name string, googlecloudaiplatformv1executecoderequest *GoogleCloudAiplatformV1ExecuteCodeRequest) *ReasoningEnginesExecuteCodeCall {
	c := &ReasoningEnginesExecuteCodeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1executecoderequest = googlecloudaiplatformv1executecoderequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesExecuteCodeCall) Fields(s ...googleapi.Field) *ReasoningEnginesExecuteCodeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesExecuteCodeCall) Context(ctx context.Context) *ReasoningEnginesExecuteCodeCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesExecuteCodeCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesExecuteCodeCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1executecoderequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:executeCode")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.executeCode", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.executeCode" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ExecuteCodeResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesExecuteCodeCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ExecuteCodeResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ExecuteCodeResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.executeCode", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesService) Get(name string) *ReasoningEnginesGetCall {
	c := &ReasoningEnginesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesGetCall) Context(ctx context.Context) *ReasoningEnginesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ReasoningEngine.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ReasoningEngine, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ReasoningEngine{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesListCall struct {
	s            *Service
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists reasoning engines in a location.
func (r *ReasoningEnginesService) List() *ReasoningEnginesListCall {
	c := &ReasoningEnginesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ReasoningEnginesListCall) Filter(filter string) *ReasoningEnginesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ReasoningEnginesListCall) PageSize(pageSize int64) *ReasoningEnginesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ReasoningEnginesListCall) PageToken(pageToken string) *ReasoningEnginesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Parent sets the optional parameter "parent": Required. The resource name of
// the Location to list the ReasoningEngines from. Format:
// `projects/{project}/locations/{location}`
func (c *ReasoningEnginesListCall) Parent(parent string) *ReasoningEnginesListCall {
	c.urlParams_.Set("parent", parent)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesListCall) Fields(s ...googleapi.Field) *ReasoningEnginesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesListCall) IfNoneMatch(entityTag string) *ReasoningEnginesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesListCall) Context(ctx context.Context) *ReasoningEnginesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/reasoningEngines")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListReasoningEnginesResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListReasoningEnginesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListReasoningEnginesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ReasoningEnginesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListReasoningEnginesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ReasoningEnginesPatchCall struct {
	s                                      *Service
	name                                   string
	googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine
	urlParams_                             gensupport.URLParams
	ctx_                                   context.Context
	header_                                http.Header
}

// Patch: Updates a reasoning engine.
//
//   - name: Identifier. The resource name of the ReasoningEngine. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesService) Patch(name string, googlecloudaiplatformv1reasoningengine *GoogleCloudAiplatformV1ReasoningEngine) *ReasoningEnginesPatchCall {
	c := &ReasoningEnginesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1reasoningengine = googlecloudaiplatformv1reasoningengine
	return c
}

// UpdateMask sets the optional parameter "updateMask": Mask specifying which
// fields to update.
func (c *ReasoningEnginesPatchCall) UpdateMask(updateMask string) *ReasoningEnginesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesPatchCall) Fields(s ...googleapi.Field) *ReasoningEnginesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesPatchCall) Context(ctx context.Context) *ReasoningEnginesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1reasoningengine)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesQueryCall struct {
	s                                                  *Service
	name                                               string
	googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest
	urlParams_                                         gensupport.URLParams
	ctx_                                               context.Context
	header_                                            http.Header
}

// Query: Queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesService) Query(name string, googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest) *ReasoningEnginesQueryCall {
	c := &ReasoningEnginesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1queryreasoningenginerequest = googlecloudaiplatformv1queryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesQueryCall) Fields(s ...googleapi.Field) *ReasoningEnginesQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesQueryCall) Context(ctx context.Context) *ReasoningEnginesQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1queryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:query")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.query", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.query" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1QueryReasoningEngineResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesQueryCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1QueryReasoningEngineResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1QueryReasoningEngineResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.query", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesStreamQueryCall struct {
	s                                                        *Service
	name                                                     string
	googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest
	urlParams_                                               gensupport.URLParams
	ctx_                                                     context.Context
	header_                                                  http.Header
}

// StreamQuery: Streams queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesService) StreamQuery(name string, googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest) *ReasoningEnginesStreamQueryCall {
	c := &ReasoningEnginesStreamQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1streamqueryreasoningenginerequest = googlecloudaiplatformv1streamqueryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesStreamQueryCall) Fields(s ...googleapi.Field) *ReasoningEnginesStreamQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesStreamQueryCall) Context(ctx context.Context) *ReasoningEnginesStreamQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesStreamQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesStreamQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamqueryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:streamQuery")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.streamQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.streamQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesStreamQueryCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.streamQuery", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesMemoriesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ReasoningEnginesMemoriesOperationsService) Cancel(name string) *ReasoningEnginesMemoriesOperationsCancelCall {
	c := &ReasoningEnginesMemoriesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesMemoriesOperationsCancelCall) Fields(s ...googleapi.Field) *ReasoningEnginesMemoriesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesMemoriesOperationsCancelCall) Context(ctx context.Context) *ReasoningEnginesMemoriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesMemoriesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesMemoriesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.memories.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesMemoriesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesMemoriesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ReasoningEnginesMemoriesOperationsService) Delete(name string) *ReasoningEnginesMemoriesOperationsDeleteCall {
	c := &ReasoningEnginesMemoriesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesMemoriesOperationsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesMemoriesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesMemoriesOperationsDeleteCall) Context(ctx context.Context) *ReasoningEnginesMemoriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesMemoriesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesMemoriesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.memories.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesMemoriesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesMemoriesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ReasoningEnginesMemoriesOperationsService) Get(name string) *ReasoningEnginesMemoriesOperationsGetCall {
	c := &ReasoningEnginesMemoriesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesMemoriesOperationsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesMemoriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesMemoriesOperationsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesMemoriesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesMemoriesOperationsGetCall) Context(ctx context.Context) *ReasoningEnginesMemoriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesMemoriesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesMemoriesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.memories.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesMemoriesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesMemoriesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ReasoningEnginesMemoriesOperationsService) List(name string) *ReasoningEnginesMemoriesOperationsListCall {
	c := &ReasoningEnginesMemoriesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ReasoningEnginesMemoriesOperationsListCall) Filter(filter string) *ReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ReasoningEnginesMemoriesOperationsListCall) PageSize(pageSize int64) *ReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ReasoningEnginesMemoriesOperationsListCall) PageToken(pageToken string) *ReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ReasoningEnginesMemoriesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesMemoriesOperationsListCall) Fields(s ...googleapi.Field) *ReasoningEnginesMemoriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesMemoriesOperationsListCall) IfNoneMatch(entityTag string) *ReasoningEnginesMemoriesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesMemoriesOperationsListCall) Context(ctx context.Context) *ReasoningEnginesMemoriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesMemoriesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesMemoriesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.memories.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesMemoriesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ReasoningEnginesMemoriesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ReasoningEnginesMemoriesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ReasoningEnginesMemoriesOperationsService) Wait(name string) *ReasoningEnginesMemoriesOperationsWaitCall {
	c := &ReasoningEnginesMemoriesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ReasoningEnginesMemoriesOperationsWaitCall) Timeout(timeout string) *ReasoningEnginesMemoriesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesMemoriesOperationsWaitCall) Fields(s ...googleapi.Field) *ReasoningEnginesMemoriesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesMemoriesOperationsWaitCall) Context(ctx context.Context) *ReasoningEnginesMemoriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesMemoriesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesMemoriesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.memories.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesMemoriesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.memories.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ReasoningEnginesOperationsService) Cancel(name string) *ReasoningEnginesOperationsCancelCall {
	c := &ReasoningEnginesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesOperationsCancelCall) Fields(s ...googleapi.Field) *ReasoningEnginesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesOperationsCancelCall) Context(ctx context.Context) *ReasoningEnginesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ReasoningEnginesOperationsService) Delete(name string) *ReasoningEnginesOperationsDeleteCall {
	c := &ReasoningEnginesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesOperationsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesOperationsDeleteCall) Context(ctx context.Context) *ReasoningEnginesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ReasoningEnginesOperationsService) Get(name string) *ReasoningEnginesOperationsGetCall {
	c := &ReasoningEnginesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesOperationsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesOperationsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesOperationsGetCall) Context(ctx context.Context) *ReasoningEnginesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ReasoningEnginesOperationsService) List(name string) *ReasoningEnginesOperationsListCall {
	c := &ReasoningEnginesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ReasoningEnginesOperationsListCall) Filter(filter string) *ReasoningEnginesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ReasoningEnginesOperationsListCall) PageSize(pageSize int64) *ReasoningEnginesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ReasoningEnginesOperationsListCall) PageToken(pageToken string) *ReasoningEnginesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ReasoningEnginesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReasoningEnginesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesOperationsListCall) Fields(s ...googleapi.Field) *ReasoningEnginesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesOperationsListCall) IfNoneMatch(entityTag string) *ReasoningEnginesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesOperationsListCall) Context(ctx context.Context) *ReasoningEnginesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ReasoningEnginesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ReasoningEnginesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ReasoningEnginesOperationsService) Wait(name string) *ReasoningEnginesOperationsWaitCall {
	c := &ReasoningEnginesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ReasoningEnginesOperationsWaitCall) Timeout(timeout string) *ReasoningEnginesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesOperationsWaitCall) Fields(s ...googleapi.Field) *ReasoningEnginesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesOperationsWaitCall) Context(ctx context.Context) *ReasoningEnginesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesRuntimeRevisionsQueryCall struct {
	s                                                  *Service
	name                                               string
	googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest
	urlParams_                                         gensupport.URLParams
	ctx_                                               context.Context
	header_                                            http.Header
}

// Query: Queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesRuntimeRevisionsService) Query(name string, googlecloudaiplatformv1queryreasoningenginerequest *GoogleCloudAiplatformV1QueryReasoningEngineRequest) *ReasoningEnginesRuntimeRevisionsQueryCall {
	c := &ReasoningEnginesRuntimeRevisionsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1queryreasoningenginerequest = googlecloudaiplatformv1queryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesRuntimeRevisionsQueryCall) Fields(s ...googleapi.Field) *ReasoningEnginesRuntimeRevisionsQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesRuntimeRevisionsQueryCall) Context(ctx context.Context) *ReasoningEnginesRuntimeRevisionsQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesRuntimeRevisionsQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesRuntimeRevisionsQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1queryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:query")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.runtimeRevisions.query", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.runtimeRevisions.query" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1QueryReasoningEngineResponse.ServerResponse.Header
// or (if a response was returned at all) in error.(*googleapi.Error).Header.
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesRuntimeRevisionsQueryCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1QueryReasoningEngineResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1QueryReasoningEngineResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.runtimeRevisions.query", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesRuntimeRevisionsStreamQueryCall struct {
	s                                                        *Service
	name                                                     string
	googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest
	urlParams_                                               gensupport.URLParams
	ctx_                                                     context.Context
	header_                                                  http.Header
}

// StreamQuery: Streams queries using a reasoning engine.
//
//   - name: The name of the ReasoningEngine resource to use. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesRuntimeRevisionsService) StreamQuery(name string, googlecloudaiplatformv1streamqueryreasoningenginerequest *GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest) *ReasoningEnginesRuntimeRevisionsStreamQueryCall {
	c := &ReasoningEnginesRuntimeRevisionsStreamQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1streamqueryreasoningenginerequest = googlecloudaiplatformv1streamqueryreasoningenginerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesRuntimeRevisionsStreamQueryCall) Fields(s ...googleapi.Field) *ReasoningEnginesRuntimeRevisionsStreamQueryCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesRuntimeRevisionsStreamQueryCall) Context(ctx context.Context) *ReasoningEnginesRuntimeRevisionsStreamQueryCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesRuntimeRevisionsStreamQueryCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesRuntimeRevisionsStreamQueryCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1streamqueryreasoningenginerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:streamQuery")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.runtimeRevisions.streamQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.runtimeRevisions.streamQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleApiHttpBody.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesRuntimeRevisionsStreamQueryCall) Do(opts ...googleapi.CallOption) (*GoogleApiHttpBody, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleApiHttpBody{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.runtimeRevisions.streamQuery", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes the specific SandboxEnvironmentSnapshot.
//
//   - name: The resource name of the SandboxEnvironmentSnapshot to delete.
//     Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`.
func (r *ReasoningEnginesSandboxEnvironmentSnapshotsService) Delete(name string) *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall {
	c := &ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentSnapshotsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of the specific SandboxEnvironmentSnapshot.
//
//   - name: The resource name of the sandbox environment snapshot. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`.
func (r *ReasoningEnginesSandboxEnvironmentSnapshotsService) Get(name string) *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c := &ReasoningEnginesSandboxEnvironmentSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SandboxEnvironmentSnapshot.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SandboxEnvironmentSnapshot, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SandboxEnvironmentSnapshot{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentSnapshotsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SandboxEnvironmentSnapshots in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to list sandbox
//     environments from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesSandboxEnvironmentSnapshotsService) List(parent string) *ReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c := &ReasoningEnginesSandboxEnvironmentSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) Filter(filter string) *ReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// SandboxEnvironmentSnapshots to return. The service may return fewer than
// this value. If unspecified, at most 100 SandboxEnvironmentSnapshots will be
// returned. Values above 100 will be coerced to 100.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) PageSize(pageSize int64) *ReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token, received from a previous `ListSandboxEnvironmentSnapshots` call.
// Provide this to retrieve the subsequent page.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) PageToken(pageToken string) *ReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentSnapshotsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironmentSnapshots")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse.ServerRespons
// e.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSandboxEnvironmentSnapshotsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Cancel(name string) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall {
	c := &ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Delete(name string) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall {
	c := &ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Get(name string) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c := &ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsService) Wait(name string) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c := &ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Timeout(timeout string) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentSnapshotsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentSnapshots.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentTemplatesCreateCall struct {
	s                                                 *Service
	parent                                            string
	googlecloudaiplatformv1sandboxenvironmenttemplate *GoogleCloudAiplatformV1SandboxEnvironmentTemplate
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// Create: Creates a SandboxEnvironmentTemplate in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to create the
//     SandboxEnvironmentTemplate in. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesService) Create(parent string, googlecloudaiplatformv1sandboxenvironmenttemplate *GoogleCloudAiplatformV1SandboxEnvironmentTemplate) *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1sandboxenvironmenttemplate = googlecloudaiplatformv1sandboxenvironmenttemplate
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1sandboxenvironmenttemplate)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironmentTemplates")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes the specific SandboxEnvironmentTemplate.
//
//   - name: The resource name of the SandboxEnvironmentTemplate to delete.
//     Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentTemplates/{sandbox_environment_template}`.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesService) Delete(name string) *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentTemplatesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of the specific SandboxEnvironmentTemplate.
//
//   - name: The resource name of the sandbox environment template. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironmentTemplates/{sandbox_environment_template}`.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesService) Get(name string) *ReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesGetCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SandboxEnvironmentTemplate.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SandboxEnvironmentTemplate, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SandboxEnvironmentTemplate{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentTemplatesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SandboxEnvironmentTemplates in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to list sandbox
//     environment templates from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesService) List(parent string) *ReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) Filter(filter string) *ReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// SandboxEnvironmentTemplates to return. The service may return fewer than
// this value. If unspecified, at most 100 SandboxEnvironmentTemplates will be
// returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) PageSize(pageSize int64) *ReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token, received from a previous `ListSandboxEnvironmentTemplates` call.
// Provide this to retrieve the subsequent page.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) PageToken(pageToken string) *ReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironmentTemplates")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse.ServerRespons
// e.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSandboxEnvironmentTemplatesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Cancel(name string) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Delete(name string) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Get(name string) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ReasoningEnginesSandboxEnvironmentTemplatesOperationsService) Wait(name string) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c := &ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Timeout(timeout string) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentTemplatesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironmentTemplates.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsCreateCall struct {
	s                                         *Service
	parent                                    string
	googlecloudaiplatformv1sandboxenvironment *GoogleCloudAiplatformV1SandboxEnvironment
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Create: Creates a SandboxEnvironment in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to create the
//     SandboxEnvironment in. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesSandboxEnvironmentsService) Create(parent string, googlecloudaiplatformv1sandboxenvironment *GoogleCloudAiplatformV1SandboxEnvironment) *ReasoningEnginesSandboxEnvironmentsCreateCall {
	c := &ReasoningEnginesSandboxEnvironmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.googlecloudaiplatformv1sandboxenvironment = googlecloudaiplatformv1sandboxenvironment
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsCreateCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsCreateCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1sandboxenvironment)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes the specific SandboxEnvironment.
//
//   - name: The resource name of the SandboxEnvironment to delete. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ReasoningEnginesSandboxEnvironmentsService) Delete(name string) *ReasoningEnginesSandboxEnvironmentsDeleteCall {
	c := &ReasoningEnginesSandboxEnvironmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsDeleteCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsExecuteCall struct {
	s                                                       *Service
	name                                                    string
	googlecloudaiplatformv1executesandboxenvironmentrequest *GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest
	urlParams_                                              gensupport.URLParams
	ctx_                                                    context.Context
	header_                                                 http.Header
}

// Execute: Executes using a sandbox environment.
//
//   - name: The resource name of the sandbox environment to execute. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ReasoningEnginesSandboxEnvironmentsService) Execute(name string, googlecloudaiplatformv1executesandboxenvironmentrequest *GoogleCloudAiplatformV1ExecuteSandboxEnvironmentRequest) *ReasoningEnginesSandboxEnvironmentsExecuteCall {
	c := &ReasoningEnginesSandboxEnvironmentsExecuteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1executesandboxenvironmentrequest = googlecloudaiplatformv1executesandboxenvironmentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsExecuteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsExecuteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsExecuteCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsExecuteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsExecuteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsExecuteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1executesandboxenvironmentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:execute")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.execute", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.execute" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse.ServerResponse.Head
// er or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsExecuteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ExecuteSandboxEnvironmentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.execute", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of the specific SandboxEnvironment.
//
//   - name: The resource name of the sandbox environment. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ReasoningEnginesSandboxEnvironmentsService) Get(name string) *ReasoningEnginesSandboxEnvironmentsGetCall {
	c := &ReasoningEnginesSandboxEnvironmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsGetCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1SandboxEnvironment.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1SandboxEnvironment, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1SandboxEnvironment{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists SandboxEnvironments in a given reasoning engine.
//
//   - parent: The resource name of the reasoning engine to list sandbox
//     environments from. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }`.
func (r *ReasoningEnginesSandboxEnvironmentsService) List(parent string) *ReasoningEnginesSandboxEnvironmentsListCall {
	c := &ReasoningEnginesSandboxEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": The standard list filter. More
// detail in AIP-160 (https://google.aip.dev/160).
func (c *ReasoningEnginesSandboxEnvironmentsListCall) Filter(filter string) *ReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// SandboxEnvironments to return. The service may return fewer than this value.
// If unspecified, at most 100 SandboxEnvironments will be returned.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) PageSize(pageSize int64) *ReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token, received from a previous `ListSandboxEnvironments` call. Provide this
// to retrieve the subsequent page.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) PageToken(pageToken string) *ReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/sandboxEnvironments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ReasoningEnginesSandboxEnvironmentsListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1ListSandboxEnvironmentsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ReasoningEnginesSandboxEnvironmentsSnapshotCall struct {
	s                                                 *Service
	name                                              string
	googlecloudaiplatformv1sandboxenvironmentsnapshot *GoogleCloudAiplatformV1SandboxEnvironmentSnapshot
	urlParams_                                        gensupport.URLParams
	ctx_                                              context.Context
	header_                                           http.Header
}

// Snapshot: Snapshots the specific SandboxEnvironment resource and creates a
// SandboxEnvironmentSnapshot resource.
//
//   - name: The resource name of the sandbox environment to snapshot. Format:
//     `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine
//     }/sandboxEnvironments/{sandbox_environment}`.
func (r *ReasoningEnginesSandboxEnvironmentsService) Snapshot(name string, googlecloudaiplatformv1sandboxenvironmentsnapshot *GoogleCloudAiplatformV1SandboxEnvironmentSnapshot) *ReasoningEnginesSandboxEnvironmentsSnapshotCall {
	c := &ReasoningEnginesSandboxEnvironmentsSnapshotCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.googlecloudaiplatformv1sandboxenvironmentsnapshot = googlecloudaiplatformv1sandboxenvironmentsnapshot
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsSnapshotCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsSnapshotCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsSnapshotCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsSnapshotCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsSnapshotCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsSnapshotCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1sandboxenvironmentsnapshot)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:snapshot")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.snapshot", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.snapshot" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsSnapshotCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.snapshot", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ReasoningEnginesSandboxEnvironmentsOperationsService) Cancel(name string) *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall {
	c := &ReasoningEnginesSandboxEnvironmentsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ReasoningEnginesSandboxEnvironmentsOperationsService) Delete(name string) *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall {
	c := &ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ReasoningEnginesSandboxEnvironmentsOperationsService) Get(name string) *ReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c := &ReasoningEnginesSandboxEnvironmentsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsGetCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSandboxEnvironmentsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ReasoningEnginesSandboxEnvironmentsOperationsService) Wait(name string) *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c := &ReasoningEnginesSandboxEnvironmentsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Timeout(timeout string) *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Fields(s ...googleapi.Field) *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Context(ctx context.Context) *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sandboxEnvironments.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSandboxEnvironmentsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sandboxEnvironments.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSessionsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ReasoningEnginesSessionsOperationsService) Cancel(name string) *ReasoningEnginesSessionsOperationsCancelCall {
	c := &ReasoningEnginesSessionsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSessionsOperationsCancelCall) Fields(s ...googleapi.Field) *ReasoningEnginesSessionsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSessionsOperationsCancelCall) Context(ctx context.Context) *ReasoningEnginesSessionsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSessionsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSessionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sessions.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSessionsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSessionsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ReasoningEnginesSessionsOperationsService) Delete(name string) *ReasoningEnginesSessionsOperationsDeleteCall {
	c := &ReasoningEnginesSessionsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSessionsOperationsDeleteCall) Fields(s ...googleapi.Field) *ReasoningEnginesSessionsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSessionsOperationsDeleteCall) Context(ctx context.Context) *ReasoningEnginesSessionsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSessionsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSessionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sessions.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ReasoningEnginesSessionsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSessionsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ReasoningEnginesSessionsOperationsService) Get(name string) *ReasoningEnginesSessionsOperationsGetCall {
	c := &ReasoningEnginesSessionsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSessionsOperationsGetCall) Fields(s ...googleapi.Field) *ReasoningEnginesSessionsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSessionsOperationsGetCall) IfNoneMatch(entityTag string) *ReasoningEnginesSessionsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSessionsOperationsGetCall) Context(ctx context.Context) *ReasoningEnginesSessionsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSessionsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSessionsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sessions.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSessionsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ReasoningEnginesSessionsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ReasoningEnginesSessionsOperationsService) List(name string) *ReasoningEnginesSessionsOperationsListCall {
	c := &ReasoningEnginesSessionsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ReasoningEnginesSessionsOperationsListCall) Filter(filter string) *ReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ReasoningEnginesSessionsOperationsListCall) PageSize(pageSize int64) *ReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ReasoningEnginesSessionsOperationsListCall) PageToken(pageToken string) *ReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ReasoningEnginesSessionsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSessionsOperationsListCall) Fields(s ...googleapi.Field) *ReasoningEnginesSessionsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ReasoningEnginesSessionsOperationsListCall) IfNoneMatch(entityTag string) *ReasoningEnginesSessionsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSessionsOperationsListCall) Context(ctx context.Context) *ReasoningEnginesSessionsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSessionsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSessionsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sessions.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSessionsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ReasoningEnginesSessionsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ReasoningEnginesSessionsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *ReasoningEnginesSessionsOperationsService) Wait(name string) *ReasoningEnginesSessionsOperationsWaitCall {
	c := &ReasoningEnginesSessionsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *ReasoningEnginesSessionsOperationsWaitCall) Timeout(timeout string) *ReasoningEnginesSessionsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ReasoningEnginesSessionsOperationsWaitCall) Fields(s ...googleapi.Field) *ReasoningEnginesSessionsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ReasoningEnginesSessionsOperationsWaitCall) Context(ctx context.Context) *ReasoningEnginesSessionsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ReasoningEnginesSessionsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ReasoningEnginesSessionsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.reasoningEngines.sessions.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ReasoningEnginesSessionsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.reasoningEngines.sessions.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SchedulesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *SchedulesOperationsService) Cancel(name string) *SchedulesOperationsCancelCall {
	c := &SchedulesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SchedulesOperationsCancelCall) Fields(s ...googleapi.Field) *SchedulesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SchedulesOperationsCancelCall) Context(ctx context.Context) *SchedulesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SchedulesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SchedulesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.schedules.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *SchedulesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SchedulesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *SchedulesOperationsService) Delete(name string) *SchedulesOperationsDeleteCall {
	c := &SchedulesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SchedulesOperationsDeleteCall) Fields(s ...googleapi.Field) *SchedulesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SchedulesOperationsDeleteCall) Context(ctx context.Context) *SchedulesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SchedulesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SchedulesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.schedules.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *SchedulesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SchedulesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *SchedulesOperationsService) Get(name string) *SchedulesOperationsGetCall {
	c := &SchedulesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SchedulesOperationsGetCall) Fields(s ...googleapi.Field) *SchedulesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *SchedulesOperationsGetCall) IfNoneMatch(entityTag string) *SchedulesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SchedulesOperationsGetCall) Context(ctx context.Context) *SchedulesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SchedulesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SchedulesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.schedules.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SchedulesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SchedulesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *SchedulesOperationsService) List(name string) *SchedulesOperationsListCall {
	c := &SchedulesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *SchedulesOperationsListCall) Filter(filter string) *SchedulesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *SchedulesOperationsListCall) PageSize(pageSize int64) *SchedulesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *SchedulesOperationsListCall) PageToken(pageToken string) *SchedulesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *SchedulesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SchedulesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SchedulesOperationsListCall) Fields(s ...googleapi.Field) *SchedulesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *SchedulesOperationsListCall) IfNoneMatch(entityTag string) *SchedulesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SchedulesOperationsListCall) Context(ctx context.Context) *SchedulesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SchedulesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SchedulesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.schedules.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SchedulesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *SchedulesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type SchedulesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *SchedulesOperationsService) Wait(name string) *SchedulesOperationsWaitCall {
	c := &SchedulesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *SchedulesOperationsWaitCall) Timeout(timeout string) *SchedulesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SchedulesOperationsWaitCall) Fields(s ...googleapi.Field) *SchedulesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SchedulesOperationsWaitCall) Context(ctx context.Context) *SchedulesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SchedulesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SchedulesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.schedules.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SchedulesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.schedules.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SkillsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *SkillsOperationsService) Cancel(name string) *SkillsOperationsCancelCall {
	c := &SkillsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SkillsOperationsCancelCall) Fields(s ...googleapi.Field) *SkillsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SkillsOperationsCancelCall) Context(ctx context.Context) *SkillsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SkillsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SkillsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.skills.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *SkillsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SkillsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *SkillsOperationsService) Delete(name string) *SkillsOperationsDeleteCall {
	c := &SkillsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SkillsOperationsDeleteCall) Fields(s ...googleapi.Field) *SkillsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SkillsOperationsDeleteCall) Context(ctx context.Context) *SkillsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SkillsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SkillsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.skills.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *SkillsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SkillsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *SkillsOperationsService) Get(name string) *SkillsOperationsGetCall {
	c := &SkillsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SkillsOperationsGetCall) Fields(s ...googleapi.Field) *SkillsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *SkillsOperationsGetCall) IfNoneMatch(entityTag string) *SkillsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SkillsOperationsGetCall) Context(ctx context.Context) *SkillsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SkillsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SkillsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.skills.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SkillsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SkillsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *SkillsOperationsService) List(name string) *SkillsOperationsListCall {
	c := &SkillsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *SkillsOperationsListCall) Filter(filter string) *SkillsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *SkillsOperationsListCall) PageSize(pageSize int64) *SkillsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *SkillsOperationsListCall) PageToken(pageToken string) *SkillsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *SkillsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SkillsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SkillsOperationsListCall) Fields(s ...googleapi.Field) *SkillsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *SkillsOperationsListCall) IfNoneMatch(entityTag string) *SkillsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SkillsOperationsListCall) Context(ctx context.Context) *SkillsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SkillsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SkillsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.skills.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SkillsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *SkillsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type SkillsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *SkillsOperationsService) Wait(name string) *SkillsOperationsWaitCall {
	c := &SkillsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *SkillsOperationsWaitCall) Timeout(timeout string) *SkillsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SkillsOperationsWaitCall) Fields(s ...googleapi.Field) *SkillsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SkillsOperationsWaitCall) Context(ctx context.Context) *SkillsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SkillsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SkillsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.skills.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SkillsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.skills.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SpecialistPoolsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *SpecialistPoolsOperationsService) Cancel(name string) *SpecialistPoolsOperationsCancelCall {
	c := &SpecialistPoolsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SpecialistPoolsOperationsCancelCall) Fields(s ...googleapi.Field) *SpecialistPoolsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SpecialistPoolsOperationsCancelCall) Context(ctx context.Context) *SpecialistPoolsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SpecialistPoolsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SpecialistPoolsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.specialistPools.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *SpecialistPoolsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SpecialistPoolsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *SpecialistPoolsOperationsService) Delete(name string) *SpecialistPoolsOperationsDeleteCall {
	c := &SpecialistPoolsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SpecialistPoolsOperationsDeleteCall) Fields(s ...googleapi.Field) *SpecialistPoolsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SpecialistPoolsOperationsDeleteCall) Context(ctx context.Context) *SpecialistPoolsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SpecialistPoolsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SpecialistPoolsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.specialistPools.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *SpecialistPoolsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SpecialistPoolsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *SpecialistPoolsOperationsService) Get(name string) *SpecialistPoolsOperationsGetCall {
	c := &SpecialistPoolsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SpecialistPoolsOperationsGetCall) Fields(s ...googleapi.Field) *SpecialistPoolsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *SpecialistPoolsOperationsGetCall) IfNoneMatch(entityTag string) *SpecialistPoolsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SpecialistPoolsOperationsGetCall) Context(ctx context.Context) *SpecialistPoolsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SpecialistPoolsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SpecialistPoolsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.specialistPools.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SpecialistPoolsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type SpecialistPoolsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *SpecialistPoolsOperationsService) List(name string) *SpecialistPoolsOperationsListCall {
	c := &SpecialistPoolsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *SpecialistPoolsOperationsListCall) Filter(filter string) *SpecialistPoolsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *SpecialistPoolsOperationsListCall) PageSize(pageSize int64) *SpecialistPoolsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *SpecialistPoolsOperationsListCall) PageToken(pageToken string) *SpecialistPoolsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *SpecialistPoolsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *SpecialistPoolsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SpecialistPoolsOperationsListCall) Fields(s ...googleapi.Field) *SpecialistPoolsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *SpecialistPoolsOperationsListCall) IfNoneMatch(entityTag string) *SpecialistPoolsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SpecialistPoolsOperationsListCall) Context(ctx context.Context) *SpecialistPoolsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SpecialistPoolsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SpecialistPoolsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.specialistPools.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SpecialistPoolsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *SpecialistPoolsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type SpecialistPoolsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *SpecialistPoolsOperationsService) Wait(name string) *SpecialistPoolsOperationsWaitCall {
	c := &SpecialistPoolsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *SpecialistPoolsOperationsWaitCall) Timeout(timeout string) *SpecialistPoolsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *SpecialistPoolsOperationsWaitCall) Fields(s ...googleapi.Field) *SpecialistPoolsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *SpecialistPoolsOperationsWaitCall) Context(ctx context.Context) *SpecialistPoolsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *SpecialistPoolsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *SpecialistPoolsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.specialistPools.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SpecialistPoolsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.specialistPools.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *StudiesOperationsService) Cancel(name string) *StudiesOperationsCancelCall {
	c := &StudiesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesOperationsCancelCall) Fields(s ...googleapi.Field) *StudiesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesOperationsCancelCall) Context(ctx context.Context) *StudiesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *StudiesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *StudiesOperationsService) Delete(name string) *StudiesOperationsDeleteCall {
	c := &StudiesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesOperationsDeleteCall) Fields(s ...googleapi.Field) *StudiesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesOperationsDeleteCall) Context(ctx context.Context) *StudiesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *StudiesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *StudiesOperationsService) Get(name string) *StudiesOperationsGetCall {
	c := &StudiesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesOperationsGetCall) Fields(s ...googleapi.Field) *StudiesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *StudiesOperationsGetCall) IfNoneMatch(entityTag string) *StudiesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesOperationsGetCall) Context(ctx context.Context) *StudiesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *StudiesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *StudiesOperationsService) List(name string) *StudiesOperationsListCall {
	c := &StudiesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *StudiesOperationsListCall) Filter(filter string) *StudiesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *StudiesOperationsListCall) PageSize(pageSize int64) *StudiesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *StudiesOperationsListCall) PageToken(pageToken string) *StudiesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *StudiesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *StudiesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesOperationsListCall) Fields(s ...googleapi.Field) *StudiesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *StudiesOperationsListCall) IfNoneMatch(entityTag string) *StudiesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesOperationsListCall) Context(ctx context.Context) *StudiesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *StudiesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *StudiesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type StudiesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *StudiesOperationsService) Wait(name string) *StudiesOperationsWaitCall {
	c := &StudiesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *StudiesOperationsWaitCall) Timeout(timeout string) *StudiesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesOperationsWaitCall) Fields(s ...googleapi.Field) *StudiesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesOperationsWaitCall) Context(ctx context.Context) *StudiesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *StudiesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesTrialsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *StudiesTrialsOperationsService) Cancel(name string) *StudiesTrialsOperationsCancelCall {
	c := &StudiesTrialsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesTrialsOperationsCancelCall) Fields(s ...googleapi.Field) *StudiesTrialsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesTrialsOperationsCancelCall) Context(ctx context.Context) *StudiesTrialsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesTrialsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesTrialsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.trials.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *StudiesTrialsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesTrialsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *StudiesTrialsOperationsService) Delete(name string) *StudiesTrialsOperationsDeleteCall {
	c := &StudiesTrialsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesTrialsOperationsDeleteCall) Fields(s ...googleapi.Field) *StudiesTrialsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesTrialsOperationsDeleteCall) Context(ctx context.Context) *StudiesTrialsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesTrialsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesTrialsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.trials.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *StudiesTrialsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesTrialsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *StudiesTrialsOperationsService) Get(name string) *StudiesTrialsOperationsGetCall {
	c := &StudiesTrialsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesTrialsOperationsGetCall) Fields(s ...googleapi.Field) *StudiesTrialsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *StudiesTrialsOperationsGetCall) IfNoneMatch(entityTag string) *StudiesTrialsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesTrialsOperationsGetCall) Context(ctx context.Context) *StudiesTrialsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesTrialsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesTrialsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.trials.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *StudiesTrialsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type StudiesTrialsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *StudiesTrialsOperationsService) List(name string) *StudiesTrialsOperationsListCall {
	c := &StudiesTrialsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *StudiesTrialsOperationsListCall) Filter(filter string) *StudiesTrialsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *StudiesTrialsOperationsListCall) PageSize(pageSize int64) *StudiesTrialsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *StudiesTrialsOperationsListCall) PageToken(pageToken string) *StudiesTrialsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *StudiesTrialsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *StudiesTrialsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesTrialsOperationsListCall) Fields(s ...googleapi.Field) *StudiesTrialsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *StudiesTrialsOperationsListCall) IfNoneMatch(entityTag string) *StudiesTrialsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesTrialsOperationsListCall) Context(ctx context.Context) *StudiesTrialsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesTrialsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesTrialsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.trials.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *StudiesTrialsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *StudiesTrialsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type StudiesTrialsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *StudiesTrialsOperationsService) Wait(name string) *StudiesTrialsOperationsWaitCall {
	c := &StudiesTrialsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *StudiesTrialsOperationsWaitCall) Timeout(timeout string) *StudiesTrialsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *StudiesTrialsOperationsWaitCall) Fields(s ...googleapi.Field) *StudiesTrialsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *StudiesTrialsOperationsWaitCall) Context(ctx context.Context) *StudiesTrialsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *StudiesTrialsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *StudiesTrialsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.studies.trials.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *StudiesTrialsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.studies.trials.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *TensorboardsExperimentsOperationsService) Cancel(name string) *TensorboardsExperimentsOperationsCancelCall {
	c := &TensorboardsExperimentsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsOperationsCancelCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsOperationsCancelCall) Context(ctx context.Context) *TensorboardsExperimentsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsExperimentsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *TensorboardsExperimentsOperationsService) Delete(name string) *TensorboardsExperimentsOperationsDeleteCall {
	c := &TensorboardsExperimentsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsOperationsDeleteCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsOperationsDeleteCall) Context(ctx context.Context) *TensorboardsExperimentsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsExperimentsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *TensorboardsExperimentsOperationsService) Get(name string) *TensorboardsExperimentsOperationsGetCall {
	c := &TensorboardsExperimentsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsOperationsGetCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsExperimentsOperationsGetCall) IfNoneMatch(entityTag string) *TensorboardsExperimentsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsOperationsGetCall) Context(ctx context.Context) *TensorboardsExperimentsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *TensorboardsExperimentsOperationsService) List(name string) *TensorboardsExperimentsOperationsListCall {
	c := &TensorboardsExperimentsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *TensorboardsExperimentsOperationsListCall) Filter(filter string) *TensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *TensorboardsExperimentsOperationsListCall) PageSize(pageSize int64) *TensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *TensorboardsExperimentsOperationsListCall) PageToken(pageToken string) *TensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *TensorboardsExperimentsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsOperationsListCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsExperimentsOperationsListCall) IfNoneMatch(entityTag string) *TensorboardsExperimentsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsOperationsListCall) Context(ctx context.Context) *TensorboardsExperimentsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *TensorboardsExperimentsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type TensorboardsExperimentsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *TensorboardsExperimentsOperationsService) Wait(name string) *TensorboardsExperimentsOperationsWaitCall {
	c := &TensorboardsExperimentsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *TensorboardsExperimentsOperationsWaitCall) Timeout(timeout string) *TensorboardsExperimentsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsOperationsWaitCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsOperationsWaitCall) Context(ctx context.Context) *TensorboardsExperimentsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *TensorboardsExperimentsRunsOperationsService) Cancel(name string) *TensorboardsExperimentsRunsOperationsCancelCall {
	c := &TensorboardsExperimentsRunsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsOperationsCancelCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsOperationsCancelCall) Context(ctx context.Context) *TensorboardsExperimentsRunsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsExperimentsRunsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *TensorboardsExperimentsRunsOperationsService) Delete(name string) *TensorboardsExperimentsRunsOperationsDeleteCall {
	c := &TensorboardsExperimentsRunsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsOperationsDeleteCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsOperationsDeleteCall) Context(ctx context.Context) *TensorboardsExperimentsRunsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsExperimentsRunsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *TensorboardsExperimentsRunsOperationsService) Get(name string) *TensorboardsExperimentsRunsOperationsGetCall {
	c := &TensorboardsExperimentsRunsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsOperationsGetCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsExperimentsRunsOperationsGetCall) IfNoneMatch(entityTag string) *TensorboardsExperimentsRunsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsOperationsGetCall) Context(ctx context.Context) *TensorboardsExperimentsRunsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsRunsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *TensorboardsExperimentsRunsOperationsService) List(name string) *TensorboardsExperimentsRunsOperationsListCall {
	c := &TensorboardsExperimentsRunsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *TensorboardsExperimentsRunsOperationsListCall) Filter(filter string) *TensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *TensorboardsExperimentsRunsOperationsListCall) PageSize(pageSize int64) *TensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *TensorboardsExperimentsRunsOperationsListCall) PageToken(pageToken string) *TensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *TensorboardsExperimentsRunsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsOperationsListCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsExperimentsRunsOperationsListCall) IfNoneMatch(entityTag string) *TensorboardsExperimentsRunsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsOperationsListCall) Context(ctx context.Context) *TensorboardsExperimentsRunsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsRunsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *TensorboardsExperimentsRunsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type TensorboardsExperimentsRunsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *TensorboardsExperimentsRunsOperationsService) Wait(name string) *TensorboardsExperimentsRunsOperationsWaitCall {
	c := &TensorboardsExperimentsRunsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *TensorboardsExperimentsRunsOperationsWaitCall) Timeout(timeout string) *TensorboardsExperimentsRunsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsOperationsWaitCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsOperationsWaitCall) Context(ctx context.Context) *TensorboardsExperimentsRunsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsRunsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *TensorboardsExperimentsRunsTimeSeriesOperationsService) Cancel(name string) *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall {
	c := &TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Context(ctx context.Context) *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *TensorboardsExperimentsRunsTimeSeriesOperationsService) Delete(name string) *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall {
	c := &TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Context(ctx context.Context) *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsTimeSeriesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *TensorboardsExperimentsRunsTimeSeriesOperationsService) Get(name string) *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c := &TensorboardsExperimentsRunsTimeSeriesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall) IfNoneMatch(entityTag string) *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Context(ctx context.Context) *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsExperimentsRunsTimeSeriesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *TensorboardsExperimentsRunsTimeSeriesOperationsService) List(name string) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c := &TensorboardsExperimentsRunsTimeSeriesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) Filter(filter string) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) PageSize(pageSize int64) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) PageToken(pageToken string) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) IfNoneMatch(entityTag string) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) Context(ctx context.Context) *TensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *TensorboardsExperimentsRunsTimeSeriesOperationsService) Wait(name string) *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c := &TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Timeout(timeout string) *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Fields(s ...googleapi.Field) *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Context(ctx context.Context) *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *TensorboardsOperationsService) Cancel(name string) *TensorboardsOperationsCancelCall {
	c := &TensorboardsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsOperationsCancelCall) Fields(s ...googleapi.Field) *TensorboardsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsOperationsCancelCall) Context(ctx context.Context) *TensorboardsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *TensorboardsOperationsService) Delete(name string) *TensorboardsOperationsDeleteCall {
	c := &TensorboardsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsOperationsDeleteCall) Fields(s ...googleapi.Field) *TensorboardsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsOperationsDeleteCall) Context(ctx context.Context) *TensorboardsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TensorboardsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *TensorboardsOperationsService) Get(name string) *TensorboardsOperationsGetCall {
	c := &TensorboardsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsOperationsGetCall) Fields(s ...googleapi.Field) *TensorboardsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsOperationsGetCall) IfNoneMatch(entityTag string) *TensorboardsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsOperationsGetCall) Context(ctx context.Context) *TensorboardsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TensorboardsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *TensorboardsOperationsService) List(name string) *TensorboardsOperationsListCall {
	c := &TensorboardsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *TensorboardsOperationsListCall) Filter(filter string) *TensorboardsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *TensorboardsOperationsListCall) PageSize(pageSize int64) *TensorboardsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *TensorboardsOperationsListCall) PageToken(pageToken string) *TensorboardsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *TensorboardsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TensorboardsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsOperationsListCall) Fields(s ...googleapi.Field) *TensorboardsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TensorboardsOperationsListCall) IfNoneMatch(entityTag string) *TensorboardsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsOperationsListCall) Context(ctx context.Context) *TensorboardsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *TensorboardsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type TensorboardsOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *TensorboardsOperationsService) Wait(name string) *TensorboardsOperationsWaitCall {
	c := &TensorboardsOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *TensorboardsOperationsWaitCall) Timeout(timeout string) *TensorboardsOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TensorboardsOperationsWaitCall) Fields(s ...googleapi.Field) *TensorboardsOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TensorboardsOperationsWaitCall) Context(ctx context.Context) *TensorboardsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TensorboardsOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TensorboardsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tensorboards.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TensorboardsOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tensorboards.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TrainingPipelinesOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *TrainingPipelinesOperationsService) Cancel(name string) *TrainingPipelinesOperationsCancelCall {
	c := &TrainingPipelinesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TrainingPipelinesOperationsCancelCall) Fields(s ...googleapi.Field) *TrainingPipelinesOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TrainingPipelinesOperationsCancelCall) Context(ctx context.Context) *TrainingPipelinesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TrainingPipelinesOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingPipelinesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.trainingPipelines.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TrainingPipelinesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TrainingPipelinesOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *TrainingPipelinesOperationsService) Delete(name string) *TrainingPipelinesOperationsDeleteCall {
	c := &TrainingPipelinesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TrainingPipelinesOperationsDeleteCall) Fields(s ...googleapi.Field) *TrainingPipelinesOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TrainingPipelinesOperationsDeleteCall) Context(ctx context.Context) *TrainingPipelinesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TrainingPipelinesOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingPipelinesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.trainingPipelines.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TrainingPipelinesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TrainingPipelinesOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *TrainingPipelinesOperationsService) Get(name string) *TrainingPipelinesOperationsGetCall {
	c := &TrainingPipelinesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TrainingPipelinesOperationsGetCall) Fields(s ...googleapi.Field) *TrainingPipelinesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TrainingPipelinesOperationsGetCall) IfNoneMatch(entityTag string) *TrainingPipelinesOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TrainingPipelinesOperationsGetCall) Context(ctx context.Context) *TrainingPipelinesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TrainingPipelinesOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingPipelinesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.trainingPipelines.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TrainingPipelinesOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TrainingPipelinesOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *TrainingPipelinesOperationsService) List(name string) *TrainingPipelinesOperationsListCall {
	c := &TrainingPipelinesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *TrainingPipelinesOperationsListCall) Filter(filter string) *TrainingPipelinesOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *TrainingPipelinesOperationsListCall) PageSize(pageSize int64) *TrainingPipelinesOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *TrainingPipelinesOperationsListCall) PageToken(pageToken string) *TrainingPipelinesOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *TrainingPipelinesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TrainingPipelinesOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TrainingPipelinesOperationsListCall) Fields(s ...googleapi.Field) *TrainingPipelinesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TrainingPipelinesOperationsListCall) IfNoneMatch(entityTag string) *TrainingPipelinesOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TrainingPipelinesOperationsListCall) Context(ctx context.Context) *TrainingPipelinesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TrainingPipelinesOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingPipelinesOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.trainingPipelines.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TrainingPipelinesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *TrainingPipelinesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type TrainingPipelinesOperationsWaitCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Wait: Waits until the specified long-running operation is done or reaches at
// most a specified timeout, returning the latest state. If the operation is
// already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout
// is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort
// basis. It may return the latest state before the specified timeout
// (including immediately), meaning even an immediate response is no guarantee
// that the operation is done.
//
// - name: The name of the operation resource to wait on.
func (r *TrainingPipelinesOperationsService) Wait(name string) *TrainingPipelinesOperationsWaitCall {
	c := &TrainingPipelinesOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Timeout sets the optional parameter "timeout": The maximum duration to wait
// before timing out. If left blank, the wait will be at most the time
// permitted by the underlying HTTP/RPC protocol. If RPC context deadline is
// also specified, the shorter one will be used.
func (c *TrainingPipelinesOperationsWaitCall) Timeout(timeout string) *TrainingPipelinesOperationsWaitCall {
	c.urlParams_.Set("timeout", timeout)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TrainingPipelinesOperationsWaitCall) Fields(s ...googleapi.Field) *TrainingPipelinesOperationsWaitCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TrainingPipelinesOperationsWaitCall) Context(ctx context.Context) *TrainingPipelinesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TrainingPipelinesOperationsWaitCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingPipelinesOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:wait")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.wait", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.trainingPipelines.operations.wait" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TrainingPipelinesOperationsWaitCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.trainingPipelines.operations.wait", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TuningJobsOperationsCancelCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *TuningJobsOperationsService) Cancel(name string) *TuningJobsOperationsCancelCall {
	c := &TuningJobsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TuningJobsOperationsCancelCall) Fields(s ...googleapi.Field) *TuningJobsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TuningJobsOperationsCancelCall) Context(ctx context.Context) *TuningJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TuningJobsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TuningJobsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.cancel", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tuningJobs.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TuningJobsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TuningJobsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *TuningJobsOperationsService) Delete(name string) *TuningJobsOperationsDeleteCall {
	c := &TuningJobsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TuningJobsOperationsDeleteCall) Fields(s ...googleapi.Field) *TuningJobsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TuningJobsOperationsDeleteCall) Context(ctx context.Context) *TuningJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TuningJobsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TuningJobsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tuningJobs.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *TuningJobsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleProtobufEmpty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TuningJobsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *TuningJobsOperationsService) Get(name string) *TuningJobsOperationsGetCall {
	c := &TuningJobsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TuningJobsOperationsGetCall) Fields(s ...googleapi.Field) *TuningJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TuningJobsOperationsGetCall) IfNoneMatch(entityTag string) *TuningJobsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TuningJobsOperationsGetCall) Context(ctx context.Context) *TuningJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TuningJobsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TuningJobsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tuningJobs.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TuningJobsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type TuningJobsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *TuningJobsOperationsService) List(name string) *TuningJobsOperationsListCall {
	c := &TuningJobsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *TuningJobsOperationsListCall) Filter(filter string) *TuningJobsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *TuningJobsOperationsListCall) PageSize(pageSize int64) *TuningJobsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *TuningJobsOperationsListCall) PageToken(pageToken string) *TuningJobsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *TuningJobsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *TuningJobsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *TuningJobsOperationsListCall) Fields(s ...googleapi.Field) *TuningJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *TuningJobsOperationsListCall) IfNoneMatch(entityTag string) *TuningJobsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *TuningJobsOperationsListCall) Context(ctx context.Context) *TuningJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *TuningJobsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TuningJobsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.tuningJobs.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TuningJobsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.tuningJobs.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *TuningJobsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type V1EvaluateDatasetCall struct {
	s                                             *Service
	googlecloudaiplatformv1evaluatedatasetrequest *GoogleCloudAiplatformV1EvaluateDatasetRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// EvaluateDataset: Evaluates a dataset based on a set of given metrics.
func (r *V1Service) EvaluateDataset(googlecloudaiplatformv1evaluatedatasetrequest *GoogleCloudAiplatformV1EvaluateDatasetRequest) *V1EvaluateDatasetCall {
	c := &V1EvaluateDatasetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.googlecloudaiplatformv1evaluatedatasetrequest = googlecloudaiplatformv1evaluatedatasetrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *V1EvaluateDatasetCall) Fields(s ...googleapi.Field) *V1EvaluateDatasetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *V1EvaluateDatasetCall) Context(ctx context.Context) *V1EvaluateDatasetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *V1EvaluateDatasetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *V1EvaluateDatasetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluatedatasetrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1:evaluateDataset")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.evaluateDataset", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.evaluateDataset" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *V1EvaluateDatasetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleLongrunningOperation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.evaluateDataset", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type V1EvaluateInstancesCall struct {
	s                                               *Service
	googlecloudaiplatformv1evaluateinstancesrequest *GoogleCloudAiplatformV1EvaluateInstancesRequest
	urlParams_                                      gensupport.URLParams
	ctx_                                            context.Context
	header_                                         http.Header
}

// EvaluateInstances: Evaluates instances based on a given metric.
func (r *V1Service) EvaluateInstances(googlecloudaiplatformv1evaluateinstancesrequest *GoogleCloudAiplatformV1EvaluateInstancesRequest) *V1EvaluateInstancesCall {
	c := &V1EvaluateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.googlecloudaiplatformv1evaluateinstancesrequest = googlecloudaiplatformv1evaluateinstancesrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *V1EvaluateInstancesCall) Fields(s ...googleapi.Field) *V1EvaluateInstancesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *V1EvaluateInstancesCall) Context(ctx context.Context) *V1EvaluateInstancesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *V1EvaluateInstancesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *V1EvaluateInstancesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1evaluateinstancesrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1:evaluateInstances")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.evaluateInstances", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.evaluateInstances" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1EvaluateInstancesResponse.ServerResponse.Header or
// (if a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *V1EvaluateInstancesCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1EvaluateInstancesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1EvaluateInstancesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.evaluateInstances", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type V1GenerateInstanceRubricsCall struct {
	s                                                     *Service
	googlecloudaiplatformv1generateinstancerubricsrequest *GoogleCloudAiplatformV1GenerateInstanceRubricsRequest
	urlParams_                                            gensupport.URLParams
	ctx_                                                  context.Context
	header_                                               http.Header
}

// GenerateInstanceRubrics: Generates rubrics for a given prompt. A rubric
// represents a single testable criterion for evaluation. One input prompt
// could have multiple rubrics This RPC allows users to get suggested rubrics
// based on provided prompt, which can then be reviewed and used for subsequent
// evaluations.
func (r *V1Service) GenerateInstanceRubrics(googlecloudaiplatformv1generateinstancerubricsrequest *GoogleCloudAiplatformV1GenerateInstanceRubricsRequest) *V1GenerateInstanceRubricsCall {
	c := &V1GenerateInstanceRubricsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.googlecloudaiplatformv1generateinstancerubricsrequest = googlecloudaiplatformv1generateinstancerubricsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *V1GenerateInstanceRubricsCall) Fields(s ...googleapi.Field) *V1GenerateInstanceRubricsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *V1GenerateInstanceRubricsCall) Context(ctx context.Context) *V1GenerateInstanceRubricsCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *V1GenerateInstanceRubricsCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *V1GenerateInstanceRubricsCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlecloudaiplatformv1generateinstancerubricsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1:generateInstanceRubrics")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "aiplatform.generateInstanceRubrics", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.generateInstanceRubrics" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleCloudAiplatformV1GenerateInstanceRubricsResponse.ServerResponse.Header
//
//	or (if a response was returned at all) in error.(*googleapi.Error).Header.
//
// Use googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *V1GenerateInstanceRubricsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1GenerateInstanceRubricsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoogleCloudAiplatformV1GenerateInstanceRubricsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "aiplatform.generateInstanceRubrics", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}
