// Copyright 2024 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 Vertex AI 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"
	"net/http"
	"net/url"
	"strconv"
	"strings"

	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

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, err := New(client)
	if err != nil {
		return nil, err
	}
	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")
	}
	s := &Service{client: client, BasePath: basePath}
	s.Projects = NewProjectsService(s)
	s.Publishers = NewPublishersService(s)
	return s, nil
}

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

	Projects *ProjectsService

	Publishers *PublishersService
}

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

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.CustomJobs = NewProjectsLocationsCustomJobsService(s)
	rs.DataLabelingJobs = NewProjectsLocationsDataLabelingJobsService(s)
	rs.Datasets = NewProjectsLocationsDatasetsService(s)
	rs.DeploymentResourcePools = NewProjectsLocationsDeploymentResourcePoolsService(s)
	rs.Endpoints = NewProjectsLocationsEndpointsService(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.NotebookRuntimeTemplates = NewProjectsLocationsNotebookRuntimeTemplatesService(s)
	rs.NotebookRuntimes = NewProjectsLocationsNotebookRuntimesService(s)
	rs.Operations = NewProjectsLocationsOperationsService(s)
	rs.PersistentResources = NewProjectsLocationsPersistentResourcesService(s)
	rs.PipelineJobs = NewProjectsLocationsPipelineJobsService(s)
	rs.Publishers = NewProjectsLocationsPublishersService(s)
	rs.Schedules = NewProjectsLocationsSchedulesService(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

	CustomJobs *ProjectsLocationsCustomJobsService

	DataLabelingJobs *ProjectsLocationsDataLabelingJobsService

	Datasets *ProjectsLocationsDatasetsService

	DeploymentResourcePools *ProjectsLocationsDeploymentResourcePoolsService

	Endpoints *ProjectsLocationsEndpointsService

	FeatureGroups *ProjectsLocationsFeatureGroupsService

	FeatureOnlineStores *ProjectsLocationsFeatureOnlineStoresService

	Featurestores *ProjectsLocationsFeaturestoresService

	HyperparameterTuningJobs *ProjectsLocationsHyperparameterTuningJobsService

	IndexEndpoints *ProjectsLocationsIndexEndpointsService

	Indexes *ProjectsLocationsIndexesService

	MetadataStores *ProjectsLocationsMetadataStoresService

	MigratableResources *ProjectsLocationsMigratableResourcesService

	ModelDeploymentMonitoringJobs *ProjectsLocationsModelDeploymentMonitoringJobsService

	Models *ProjectsLocationsModelsService

	NasJobs *ProjectsLocationsNasJobsService

	NotebookRuntimeTemplates *ProjectsLocationsNotebookRuntimeTemplatesService

	NotebookRuntimes *ProjectsLocationsNotebookRuntimesService

	Operations *ProjectsLocationsOperationsService

	PersistentResources *ProjectsLocationsPersistentResourcesService

	PipelineJobs *ProjectsLocationsPipelineJobsService

	Publishers *ProjectsLocationsPublishersService

	Schedules *ProjectsLocationsSchedulesService

	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 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.Operations = NewProjectsLocationsEndpointsOperationsService(s)
	return rs
}

type ProjectsLocationsEndpointsService struct {
	s *Service

	Operations *ProjectsLocationsEndpointsOperationsService
}

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

type ProjectsLocationsEndpointsOperationsService 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 NewProjectsLocationsNotebookRuntimeTemplatesService(s *Service) *ProjectsLocationsNotebookRuntimeTemplatesService {
	rs := &ProjectsLocationsNotebookRuntimeTemplatesService{s: s}
	return rs
}

type ProjectsLocationsNotebookRuntimeTemplatesService struct {
	s *Service
}

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

type ProjectsLocationsNotebookRuntimesService 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}
	return rs
}

type ProjectsLocationsPublishersModelsService 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 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
}

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

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

// CloudAiLargeModelsVisionFilteredText: Details for filtered input text.
type CloudAiLargeModelsVisionFilteredText struct {
	// Category: Confidence level
	//
	// Possible values:
	//   "RAI_CATEGORY_UNSPECIFIED"
	//   "OBSCENE"
	//   "SEXUALLY_EXPLICIT" - Porn
	//   "IDENTITY_ATTACK" - Hate
	//   "VIOLENCE_ABUSE"
	//   "CSAI"
	//   "SPII"
	//   "CELEBRITY"
	//   "FACE_IMG"
	//   "WATERMARK_IMG"
	//   "MEMORIZATION_IMG"
	//   "CSAI_IMG"
	//   "PORN_IMG"
	//   "VIOLENCE_IMG"
	//   "CHILD_IMG"
	//   "TOXIC"
	//   "SENSITIVE_WORD"
	//   "PERSON_IMG"
	//   "ICA_IMG"
	//   "SEXUAL_IMG"
	//   "IU_IMG"
	//   "RACY_IMG"
	//   "PEDO_IMG"
	//   "DEATH_HARM_TRAGEDY" - SafetyAttributes returned but not filtered on
	//   "HEALTH"
	//   "FIREARMS_WEAPONS"
	//   "RELIGIOUS_BELIEF"
	//   "ILLICIT_DRUGS"
	//   "WAR_CONFLICT"
	//   "POLITICS"
	//   "HATE_SYMBOL_IMG" - End of list
	//   "CHILD_TEXT"
	//   "DANGEROUS_CONTENT" - Text category from SafetyCat v3
	//   "RECITATION_TEXT"
	//   "CELEBRITY_IMG"
	//   "WATERMARK_IMG_REMOVAL" - Error message when user attempts to remove
	// watermark from editing image
	Category string `json:"category,omitempty"`
	// Confidence: Filtered category
	//
	// Possible values:
	//   "CONFIDENCE_UNSPECIFIED"
	//   "CONFIDENCE_LOW"
	//   "CONFIDENCE_MEDIUM"
	//   "CONFIDENCE_HIGH"
	Confidence string `json:"confidence,omitempty"`
	// Prompt: Input prompt
	Prompt string `json:"prompt,omitempty"`
	// Score: Score for category
	Score float64 `json:"score,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 *CloudAiLargeModelsVisionFilteredText) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionFilteredText
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiLargeModelsVisionFilteredText) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiLargeModelsVisionFilteredText
	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
}

// CloudAiLargeModelsVisionGenerateVideoResponse: Generate video response.
type CloudAiLargeModelsVisionGenerateVideoResponse struct {
	// GeneratedSamples: The generates samples.
	GeneratedSamples []*CloudAiLargeModelsVisionMedia `json:"generatedSamples,omitempty"`
	// RaiErrorMessage: Returns rai error message for filtered videos.
	RaiErrorMessage string `json:"raiErrorMessage,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"`
	// RaiTextFilteredReason: Returns filtered text rai info.
	RaiTextFilteredReason *CloudAiLargeModelsVisionFilteredText `json:"raiTextFilteredReason,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)
}

// CloudAiLargeModelsVisionImage: Image.
type CloudAiLargeModelsVisionImage struct {
	// Encoding: Image encoding, encoded as "image/png" or "image/jpg".
	Encoding string `json:"encoding,omitempty"`
	// Image: Raw bytes.
	Image string `json:"image,omitempty"`
	// ImageRaiScores: RAI scores for generated image.
	ImageRaiScores *CloudAiLargeModelsVisionImageRAIScores `json:"imageRaiScores,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)
}

// 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)
}

// CloudAiLargeModelsVisionMediaGenerateContentResponse: Generate media content
// response
type CloudAiLargeModelsVisionMediaGenerateContentResponse struct {
	// Response: Response to the user's request.
	Response *CloudAiNlLlmProtoServiceGenerateMultiModalResponse `json:"response,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Response") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Response") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s *CloudAiLargeModelsVisionMediaGenerateContentResponse) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionMediaGenerateContentResponse
	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
}

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

// CloudAiLargeModelsVisionReasonVideoResponse: Video reasoning response.
type CloudAiLargeModelsVisionReasonVideoResponse struct {
	// Responses: Generated text responses. The generated responses for different
	// segments within the same video.
	Responses []*CloudAiLargeModelsVisionReasonVideoResponseTextResponse `json:"responses,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Responses") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Responses") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiLargeModelsVisionReasonVideoResponseTextResponse: Contains text that
// is the response of the video captioning.
type CloudAiLargeModelsVisionReasonVideoResponseTextResponse struct {
	// RelativeTemporalPartition: Partition of the caption's video in time. This
	// field is intended for video captioning. To represent the start time and end
	// time of the caption's video.
	RelativeTemporalPartition *CloudAiLargeModelsVisionRelativeTemporalPartition `json:"relativeTemporalPartition,omitempty"`
	// Text: Text information
	Text string `json:"text,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RelativeTemporalPartition")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RelativeTemporalPartition") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiLargeModelsVisionRelativeTemporalPartition: For ease of use, assume
// that the start_offset is inclusive and the end_offset is exclusive. In
// mathematical terms, the partition would be written as [start_offset,
// end_offset).
type CloudAiLargeModelsVisionRelativeTemporalPartition struct {
	// EndOffset: End time offset of the partition.
	EndOffset string `json:"endOffset,omitempty"`
	// StartOffset: Start time offset of the partition.
	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 *CloudAiLargeModelsVisionRelativeTemporalPartition) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionRelativeTemporalPartition
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

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 {
	// 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. "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 *CloudAiLargeModelsVisionVideo) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiLargeModelsVisionVideo
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

type CloudAiNlLlmProtoServiceCandidate struct {
	// CitationMetadata: Source attribution of the generated content.
	CitationMetadata *CloudAiNlLlmProtoServiceCitationMetadata `json:"citationMetadata,omitempty"`
	// Content: Content of the candidate.
	Content *CloudAiNlLlmProtoServiceContent `json:"content,omitempty"`
	// FinishMessage: A string that describes the filtering behavior in more
	// detail. Only filled when reason is set.
	FinishMessage string `json:"finishMessage,omitempty"`
	// FinishReason: The reason why the model stopped generating tokens.
	//
	// Possible values:
	//   "FINISH_REASON_UNSPECIFIED" - The finish reason is unspecified.
	//   "FINISH_REASON_STOP" - Natural stop point of the model or provided stop
	// sequence.
	//   "FINISH_REASON_MAX_TOKENS" - The maximum number of tokens as specified in
	// the request was reached.
	//   "FINISH_REASON_SAFETY" - The token generation was stopped as the response
	// was flagged for safety reasons. NOTE: When streaming the Candidate.content
	// will be empty if content filters blocked the output.
	//   "FINISH_REASON_RECITATION" - The token generation was stopped as the
	// response was flagged for unauthorized citations.
	//   "FINISH_REASON_OTHER" - All other reasons that stopped the token
	// generation (currently only language filter).
	//   "FINISH_REASON_BLOCKLIST" - The token generation was stopped as the
	// response was flagged for the terms which are included from the terminology
	// blocklist.
	//   "FINISH_REASON_PROHIBITED_CONTENT" - The token generation was stopped as
	// the response was flagged for the prohibited contents (currently only CSAM).
	//   "FINISH_REASON_SPII" - The token generation was stopped as the response
	// was flagged for Sensitive Personally Identifiable Information (SPII)
	// contents.
	FinishReason string `json:"finishReason,omitempty"`
	// GroundingMetadata: Grounding metadata. Combine with the facts list from
	// response to generate grounding citations for this choice.
	GroundingMetadata *LearningGenaiRootGroundingMetadata `json:"groundingMetadata,omitempty"`
	// Index: Index of the candidate.
	Index int64 `json:"index,omitempty"`
	// SafetyRatings: Safety ratings of the generated content.
	SafetyRatings []*CloudAiNlLlmProtoServiceSafetyRating `json:"safetyRatings,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CitationMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CitationMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiNlLlmProtoServiceCitation: Source attributions for content.
type CloudAiNlLlmProtoServiceCitation struct {
	// EndIndex: End index into the content.
	EndIndex int64 `json:"endIndex,omitempty"`
	// License: License of the attribution.
	License string `json:"license,omitempty"`
	// PublicationDate: Publication date of the attribution.
	PublicationDate *GoogleTypeDate `json:"publicationDate,omitempty"`
	// StartIndex: Start index into the content.
	StartIndex int64 `json:"startIndex,omitempty"`
	// Title: Title of the attribution.
	Title string `json:"title,omitempty"`
	// Uri: Url reference of the attribution.
	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 *CloudAiNlLlmProtoServiceCitation) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceCitation
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServiceCitationMetadata: A collection of source
// attributions for a piece of content.
type CloudAiNlLlmProtoServiceCitationMetadata struct {
	// Citations: List of citations.
	Citations []*CloudAiNlLlmProtoServiceCitation `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 *CloudAiNlLlmProtoServiceCitationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceCitationMetadata
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServiceContent: The content of a single message from a
// participant.
type CloudAiNlLlmProtoServiceContent struct {
	// Parts: The parts of the message.
	Parts []*CloudAiNlLlmProtoServicePart `json:"parts,omitempty"`
	// Role: The role of the current conversation participant.
	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 *CloudAiNlLlmProtoServiceContent) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceContent
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServiceFact: A condense version of WorldFact
// (assistant/boq/lamda/factuality/proto/factuality.proto) to propagate the
// essential information about the fact used in factuality to the upstream
// caller.
type CloudAiNlLlmProtoServiceFact struct {
	// Query: Query that is used to retrieve this fact.
	Query string `json:"query,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"`
	// Url: If present, this URL links to the webpage of the fact.
	Url string `json:"url,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 *CloudAiNlLlmProtoServiceFact) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceFact
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServiceFunctionCall: Function call details.
type CloudAiNlLlmProtoServiceFunctionCall struct {
	// Args: The function parameters and values in JSON format.
	Args googleapi.RawMessage `json:"args,omitempty"`
	// Name: Required. The name of the function to call.
	Name string `json:"name,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 *CloudAiNlLlmProtoServiceFunctionCall) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceFunctionCall
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServiceFunctionResponse: Function response details.
type CloudAiNlLlmProtoServiceFunctionResponse struct {
	// Name: Required. The name of the function to call.
	Name string `json:"name,omitempty"`
	// Response: Required. The function response in JSON object format.
	Response googleapi.RawMessage `json:"response,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 *CloudAiNlLlmProtoServiceFunctionResponse) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceFunctionResponse
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

type CloudAiNlLlmProtoServiceGenerateMultiModalResponse struct {
	// Candidates: Possible candidate responses to the conversation up until this
	// point.
	Candidates []*CloudAiNlLlmProtoServiceCandidate `json:"candidates,omitempty"`
	// DebugMetadata: Debug information containing message metadata. Clients should
	// not consume this field, and this is only populated for Flow Runner path.
	DebugMetadata *CloudAiNlLlmProtoServiceMessageMetadata `json:"debugMetadata,omitempty"`
	// Facts: External facts retrieved for factuality/grounding.
	Facts []*CloudAiNlLlmProtoServiceFact `json:"facts,omitempty"`
	// PromptFeedback: 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 *CloudAiNlLlmProtoServicePromptFeedback `json:"promptFeedback,omitempty"`
	// ReportingMetrics: Billable prediction metrics.
	ReportingMetrics *IntelligenceCloudAutomlXpsReportingMetrics `json:"reportingMetrics,omitempty"`
	// UsageMetadata: Usage metadata about the response(s).
	UsageMetadata *CloudAiNlLlmProtoServiceUsageMetadata `json:"usageMetadata,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 *CloudAiNlLlmProtoServiceGenerateMultiModalResponse) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceGenerateMultiModalResponse
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

type CloudAiNlLlmProtoServiceMessageMetadata struct {
	// FactualityDebugMetadata: Factuality-related debug metadata.
	FactualityDebugMetadata *LearningGenaiRootPerRequestProcessorDebugMetadataFactualityDebugMetadata `json:"factualityDebugMetadata,omitempty"`
	// InputFilterInfo: Filter metadata of the input messages.
	InputFilterInfo *LearningServingLlmMessageMetadata `json:"inputFilterInfo,omitempty"`
	// ModelRoutingDecision: This score is generated by the router model to decide
	// which model to use
	ModelRoutingDecision *LearningGenaiRootRoutingDecision `json:"modelRoutingDecision,omitempty"`
	// OutputFilterInfo: Filter metadata of the output messages.
	OutputFilterInfo []*LearningServingLlmMessageMetadata `json:"outputFilterInfo,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FactualityDebugMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FactualityDebugMetadata") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiNlLlmProtoServicePart: A single part of a message.
type CloudAiNlLlmProtoServicePart struct {
	// DocumentMetadata: Document metadata. The metadata should only be used by the
	// Cloud LLM when supporting document mime types. It will only be populated
	// when this image input part is converted from a document input part.
	DocumentMetadata *CloudAiNlLlmProtoServicePartDocumentMetadata `json:"documentMetadata,omitempty"`
	// FileData: URI-based data.
	FileData *CloudAiNlLlmProtoServicePartFileData `json:"fileData,omitempty"`
	// FunctionCall: Function call data.
	FunctionCall *CloudAiNlLlmProtoServiceFunctionCall `json:"functionCall,omitempty"`
	// FunctionResponse: Function response data.
	FunctionResponse *CloudAiNlLlmProtoServiceFunctionResponse `json:"functionResponse,omitempty"`
	// InlineData: Inline bytes data
	InlineData *CloudAiNlLlmProtoServicePartBlob `json:"inlineData,omitempty"`
	// LmRootMetadata: Metadata provides extra info for building the LM Root
	// request. Note: High enough tag number for internal only fields.
	LmRootMetadata *CloudAiNlLlmProtoServicePartLMRootMetadata `json:"lmRootMetadata,omitempty"`
	// Text: Text input.
	Text string `json:"text,omitempty"`
	// VideoMetadata: Video metadata. The metadata should only be specified while
	// the video data is presented in inline_data or file_data.
	VideoMetadata *CloudAiNlLlmProtoServicePartVideoMetadata `json:"videoMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DocumentMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DocumentMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiNlLlmProtoServicePartBlob: Represents arbitrary blob data input.
type CloudAiNlLlmProtoServicePartBlob struct {
	// Data: Inline data.
	Data string `json:"data,omitempty"`
	// MimeType: The mime type corresponding to this input.
	MimeType string `json:"mimeType,omitempty"`
	// OriginalFileData: Original file data where the blob comes from.
	OriginalFileData *CloudAiNlLlmProtoServicePartFileData `json:"originalFileData,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 *CloudAiNlLlmProtoServicePartBlob) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServicePartBlob
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServicePartDocumentMetadata: Metadata describes the
// original input document content.
type CloudAiNlLlmProtoServicePartDocumentMetadata struct {
	// OriginalDocumentBlob: The original document blob.
	OriginalDocumentBlob *CloudAiNlLlmProtoServicePartBlob `json:"originalDocumentBlob,omitempty"`
	// PageNumber: The (1-indexed) page number of the image in the original
	// document. The first page carries the original document content and mime
	// type.
	PageNumber int64 `json:"pageNumber,omitempty"`
	// ForceSendFields is a list of field names (e.g. "OriginalDocumentBlob") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "OriginalDocumentBlob") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiNlLlmProtoServicePartFileData: Represents file data.
type CloudAiNlLlmProtoServicePartFileData struct {
	// FileUri: Inline data.
	FileUri string `json:"fileUri,omitempty"`
	// MimeType: The mime type corresponding to this input.
	MimeType string `json:"mimeType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "FileUri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FileUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiNlLlmProtoServicePartLMRootMetadata: Metadata provides extra info for
// building the LM Root request.
type CloudAiNlLlmProtoServicePartLMRootMetadata struct {
	// ChunkId: Chunk id that will be used when mapping the part to the LM Root's
	// chunk.
	ChunkId string `json:"chunkId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ChunkId") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ChunkId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiNlLlmProtoServicePartVideoMetadata: Metadata describes the input
// video content.
type CloudAiNlLlmProtoServicePartVideoMetadata struct {
	// EndOffset: The end offset of the video.
	EndOffset string `json:"endOffset,omitempty"`
	// StartOffset: 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 *CloudAiNlLlmProtoServicePartVideoMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServicePartVideoMetadata
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServicePromptFeedback: Content filter results for a prompt
// sent in the request.
type CloudAiNlLlmProtoServicePromptFeedback struct {
	// BlockReason: Blocked reason.
	//
	// Possible values:
	//   "BLOCKED_REASON_UNSPECIFIED" - Unspecified blocked reason.
	//   "SAFETY" - Candidates blocked due to safety.
	//   "OTHER" - Candidates blocked due to other reason (currently only language
	// filter).
	//   "BLOCKLIST" - Candidates blocked due to the terms which are included from
	// the terminology blocklist.
	//   "PROHIBITED_CONTENT" - Candidates blocked due to prohibited content
	// (currently only CSAM).
	BlockReason string `json:"blockReason,omitempty"`
	// BlockReasonMessage: A readable block reason message.
	BlockReasonMessage string `json:"blockReasonMessage,omitempty"`
	// SafetyRatings: Safety ratings.
	SafetyRatings []*CloudAiNlLlmProtoServiceSafetyRating `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 *CloudAiNlLlmProtoServicePromptFeedback) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServicePromptFeedback
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// CloudAiNlLlmProtoServiceRaiResult: The RAI results for a given text.
type CloudAiNlLlmProtoServiceRaiResult struct {
	// AidaRecitationResult: Recitation result from Aida recitation checker.
	AidaRecitationResult *LanguageLabsAidaTrustRecitationProtoRecitationResult `json:"aidaRecitationResult,omitempty"`
	// Blocked: Use `triggered_blocklist`.
	Blocked bool `json:"blocked,omitempty"`
	// ErrorCodes: The error codes indicate which RAI filters block the response.
	ErrorCodes []int64 `json:"errorCodes,omitempty"`
	// Filtered: Whether the text should be filtered and not shown to the end user.
	// This is determined based on a combination of `triggered_recitation`,
	// `triggered_blocklist`, `language_filter_result`, and
	// `triggered_safety_filter`.
	Filtered bool `json:"filtered,omitempty"`
	// LanguageFilterResult: Language filter result from SAFT LangId.
	LanguageFilterResult *LearningGenaiRootLanguageFilterResult `json:"languageFilterResult,omitempty"`
	// RaiSignals: The RAI signals for the text.
	RaiSignals []*CloudAiNlLlmProtoServiceRaiSignal `json:"raiSignals,omitempty"`
	// TranslationRequestInfos: Translation request info during RAI for debugging
	// purpose. Each TranslationRequestInfo corresponds to a request sent to the
	// translation server.
	TranslationRequestInfos []*LearningGenaiRootTranslationRequestInfo `json:"translationRequestInfos,omitempty"`
	// TriggeredBlocklist: Whether the text triggered the blocklist.
	TriggeredBlocklist bool `json:"triggeredBlocklist,omitempty"`
	// TriggeredRecitation: Whether the text should be blocked by the recitation
	// result from Aida recitation checker. It is determined from
	// aida_recitation_result.
	TriggeredRecitation bool `json:"triggeredRecitation,omitempty"`
	// TriggeredSafetyFilter: Whether the text triggered the safety filter.
	// Currently, this is due to CSAI triggering or one of four categories
	// (derogatory, sexual, toxic, violent) having a score over the filter
	// threshold.
	TriggeredSafetyFilter bool `json:"triggeredSafetyFilter,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AidaRecitationResult") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AidaRecitationResult") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// CloudAiNlLlmProtoServiceRaiSignal: An RAI signal for a single category.
type CloudAiNlLlmProtoServiceRaiSignal struct {
	// Confidence: The confidence level for the RAI category.
	//
	// Possible values:
	//   "CONFIDENCE_UNSPECIFIED"
	//   "CONFIDENCE_NONE"
	//   "CONFIDENCE_LOW"
	//   "CONFIDENCE_MEDIUM"
	//   "CONFIDENCE_HIGH"
	Confidence string `json:"confidence,omitempty"`
	// Flagged: Whether the category is flagged as being present. Currently, this
	// is set to true if score >= 0.5.
	Flagged bool `json:"flagged,omitempty"`
	// InfluentialTerms: The influential terms that could potentially block the
	// response.
	InfluentialTerms []*CloudAiNlLlmProtoServiceRaiSignalInfluentialTerm `json:"influentialTerms,omitempty"`
	// RaiCategory: The RAI category.
	//
	// Possible values:
	//   "RAI_CATEGORY_UNSPECIFIED"
	//   "TOXIC" - SafetyCat categories.
	//   "SEXUALLY_EXPLICIT"
	//   "HATE_SPEECH"
	//   "VIOLENT"
	//   "PROFANITY"
	//   "HARASSMENT"
	//   "DEATH_HARM_TRAGEDY"
	//   "FIREARMS_WEAPONS"
	//   "PUBLIC_SAFETY"
	//   "HEALTH"
	//   "RELIGIOUS_BELIEF"
	//   "ILLICIT_DRUGS"
	//   "WAR_CONFLICT"
	//   "POLITICS"
	//   "FINANCE"
	//   "LEGAL"
	//   "CSAI" - GRAIL categories that can't be exposed to end users.
	//   "FRINGE"
	//   "THREAT" - Unused categories.
	//   "SEVERE_TOXICITY"
	//   "TOXICITY" - Old category names.
	//   "SEXUAL"
	//   "INSULT"
	//   "DEROGATORY"
	//   "IDENTITY_ATTACK"
	//   "VIOLENCE_ABUSE"
	//   "OBSCENE"
	//   "DRUGS"
	//   "CSAM" - CSAM V2
	//   "SPII" - SPII
	//   "DANGEROUS_CONTENT" - New SafetyCat v3 categories
	//   "DANGEROUS_CONTENT_SEVERITY"
	//   "INSULT_SEVERITY"
	//   "DEROGATORY_SEVERITY"
	//   "SEXUAL_SEVERITY"
	RaiCategory string `json:"raiCategory,omitempty"`
	// Score: The score for the category, in the range [0.0, 1.0].
	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 *CloudAiNlLlmProtoServiceRaiSignal) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceRaiSignal
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiNlLlmProtoServiceRaiSignal) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiNlLlmProtoServiceRaiSignal
	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
}

// CloudAiNlLlmProtoServiceRaiSignalInfluentialTerm: The influential term that
// could potentially block the response.
type CloudAiNlLlmProtoServiceRaiSignalInfluentialTerm struct {
	// BeginOffset: The beginning offset of the influential term.
	BeginOffset int64 `json:"beginOffset,omitempty"`
	// Confidence: The confidence score of the influential term.
	Confidence float64 `json:"confidence,omitempty"`
	// Source: The source of the influential term, prompt or response.
	//
	// Possible values:
	//   "SOURCE_UNSPECIFIED" - Unspecified source.
	//   "PROMPT" - The influential term comes from the prompt.
	//   "RESPONSE" - The influential term comes from the response.
	Source string `json:"source,omitempty"`
	// Term: The influential term.
	Term string `json:"term,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BeginOffset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BeginOffset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

func (s *CloudAiNlLlmProtoServiceRaiSignalInfluentialTerm) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiNlLlmProtoServiceRaiSignalInfluentialTerm
	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
}

// CloudAiNlLlmProtoServiceSafetyRating: Safety rating corresponding to the
// generated content.
type CloudAiNlLlmProtoServiceSafetyRating struct {
	// Blocked: Indicates whether the content was filtered out because of this
	// rating.
	Blocked bool `json:"blocked,omitempty"`
	// Category: Harm category.
	//
	// Possible values:
	//   "HARM_CATEGORY_UNSPECIFIED" - The harm category is unspecified.
	//   "HARM_CATEGORY_HATE_SPEECH" - The harm category is hate speech.
	//   "HARM_CATEGORY_DANGEROUS_CONTENT" - The harm category is dengerous
	// content.
	//   "HARM_CATEGORY_HARASSMENT" - The harm category is harassment.
	//   "HARM_CATEGORY_SEXUALLY_EXPLICIT" - The harm category is sexually
	// explicit.
	Category string `json:"category,omitempty"`
	// InfluentialTerms: The influential terms that could potentially block the
	// response.
	InfluentialTerms []*CloudAiNlLlmProtoServiceSafetyRatingInfluentialTerm `json:"influentialTerms,omitempty"`
	// Probability: Harm probability levels in the content.
	//
	// Possible values:
	//   "HARM_PROBABILITY_UNSPECIFIED" - Harm probability unspecified.
	//   "NEGLIGIBLE" - Negligible level of harm.
	//   "LOW" - Low level of harm.
	//   "MEDIUM" - Medium level of harm.
	//   "HIGH" - High level of harm.
	Probability string `json:"probability,omitempty"`
	// ProbabilityScore: Harm probability score.
	ProbabilityScore float64 `json:"probabilityScore,omitempty"`
	// Severity: Harm severity levels in the content.
	//
	// Possible values:
	//   "HARM_SEVERITY_UNSPECIFIED" - Harm severity unspecified.
	//   "HARM_SEVERITY_NEGLIGIBLE" - Negligible level of harm severity.
	//   "HARM_SEVERITY_LOW" - Low level of harm severity.
	//   "HARM_SEVERITY_MEDIUM" - Medium level of harm severity.
	//   "HARM_SEVERITY_HIGH" - High level of harm severity.
	Severity string `json:"severity,omitempty"`
	// SeverityScore: Harm severity score.
	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 *CloudAiNlLlmProtoServiceSafetyRating) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceSafetyRating
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

func (s *CloudAiNlLlmProtoServiceSafetyRating) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiNlLlmProtoServiceSafetyRating
	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
}

// CloudAiNlLlmProtoServiceSafetyRatingInfluentialTerm: The influential term
// that could potentially block the response.
type CloudAiNlLlmProtoServiceSafetyRatingInfluentialTerm struct {
	// BeginOffset: The beginning offset of the influential term.
	BeginOffset int64 `json:"beginOffset,omitempty"`
	// Confidence: The confidence score of the influential term.
	Confidence float64 `json:"confidence,omitempty"`
	// Source: The source of the influential term, prompt or response.
	//
	// Possible values:
	//   "SOURCE_UNSPECIFIED" - Unspecified source.
	//   "PROMPT" - The influential term comes from the prompt.
	//   "RESPONSE" - The influential term comes from the response.
	Source string `json:"source,omitempty"`
	// Term: The influential term.
	Term string `json:"term,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BeginOffset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BeginOffset") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

func (s *CloudAiNlLlmProtoServiceSafetyRatingInfluentialTerm) UnmarshalJSON(data []byte) error {
	type NoMethod CloudAiNlLlmProtoServiceSafetyRatingInfluentialTerm
	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
}

// CloudAiNlLlmProtoServiceUsageMetadata: Usage metadata about response(s).
type CloudAiNlLlmProtoServiceUsageMetadata struct {
	// CandidatesTokenCount: Number of tokens in the response(s).
	CandidatesTokenCount int64 `json:"candidatesTokenCount,omitempty"`
	// PromptTokenCount: Number of tokens in the request.
	PromptTokenCount int64 `json:"promptTokenCount,omitempty"`
	TotalTokenCount  int64 `json:"totalTokenCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CandidatesTokenCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CandidatesTokenCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s *CloudAiNlLlmProtoServiceUsageMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAiNlLlmProtoServiceUsageMetadata
	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)
}

// 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)
}

// 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)
}

// 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)
}

// 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
}

// 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 this
	// DeployedModel may be deployed on when the traffic against it increases. If
	// the requested value is too large, the deployment will error, but if
	// deployment succeeds then the ability to scale the model to that many
	// replicas is guaranteed (barring service outages). If traffic against the
	// DeployedModel increases beyond what its replicas at maximum may handle, a
	// portion of the traffic will be dropped. If this value is not provided, a no
	// upper bound for scaling under heavy traffic will be assume, though Vertex AI
	// may be unable to scale beyond certain replica number.
	MaxReplicaCount int64 `json:"maxReplicaCount,omitempty"`
	// MinReplicaCount: Immutable. The minimum number of replicas this
	// DeployedModel will be always deployed on. If traffic against it increases,
	// it may dynamically be deployed onto more replicas up to max_replica_count,
	// 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)
}

// 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`
	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.
type GoogleCloudAiplatformV1BatchCreateFeaturesRequest struct {
	// Requests: Required. The request message specifying the Features to create.
	// All Features must be created under the same parent EntityType. The `parent`
	// field in each child request message can be omitted. If `parent` is set in a
	// child request, then the value must match the `parent` value in this request
	// message.
	Requests []*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
	// MigrateResourceRequest.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 and unmanaged_container_model must be set. The model resource name may
	// contain version id or version alias to specify the version. Example:
	// `projects/{project}/locations/{location}/models/{model}@2` or
	// `projects/{project}/locations/{location}/models/{model}@golden` if no
	// version is specified, the default version will be deployed. The model
	// resource could also be a publisher model. Example:
	// `publishers/{publisher}/models/{model}` or
	// `projects/{project}/locations/{location}/publishers/{publisher}/models/{model
	// }`
	Model string `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"`
	// 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 and unmanaged_container_model 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"`
	// 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"`
	// 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"`
	// 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)
}

// 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)
}

// GoogleCloudAiplatformV1Blob: Content blob. It's preferred to send as text
// directly rather than raw bytes.
type GoogleCloudAiplatformV1Blob struct {
	// Data: Required. Raw bytes.
	Data string `json:"data,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)
}

// 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 {
}

// 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 {
	// CitationMetadata: Output only. Source attribution of the generated content.
	CitationMetadata *GoogleCloudAiplatformV1CitationMetadata `json:"citationMetadata,omitempty"`
	// Content: Output only. Content parts of the candidate.
	Content *GoogleCloudAiplatformV1Content `json:"content,omitempty"`
	// FinishMessage: Output only. Describes the reason the mode stopped generating
	// tokens in more detail. This is only filled 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 the tokens.
	//
	// Possible values:
	//   "FINISH_REASON_UNSPECIFIED" - The finish reason is unspecified.
	//   "STOP" - Natural stop point of the model or provided stop sequence.
	//   "MAX_TOKENS" - The maximum number of tokens as specified in the request
	// was reached.
	//   "SAFETY" - The token generation was stopped as the response was flagged
	// for safety reasons. NOTE: When streaming the Candidate.content will be empty
	// if content filters blocked the output.
	//   "RECITATION" - The token generation was stopped as the response was
	// flagged for unauthorized citations.
	//   "OTHER" - All other reasons that stopped the token generation
	//   "BLOCKLIST" - The token generation was stopped as the response was flagged
	// for the terms which are included from the terminology blocklist.
	//   "PROHIBITED_CONTENT" - The token generation was stopped as the response
	// was flagged for the prohibited contents.
	//   "SPII" - The token generation was stopped as the response was flagged for
	// Sensitive Personally Identifiable Information (SPII) contents.
	FinishReason string `json:"finishReason,omitempty"`
	// GroundingMetadata: Output only. Metadata specifies sources used to ground
	// generated content.
	GroundingMetadata *GoogleCloudAiplatformV1GroundingMetadata `json:"groundingMetadata,omitempty"`
	// Index: Output only. Index of the candidate.
	Index int64 `json:"index,omitempty"`
	// SafetyRatings: Output only. List of ratings for the safety of a response
	// candidate. There is at most one rating per category.
	SafetyRatings []*GoogleCloudAiplatformV1SafetyRating `json:"safetyRatings,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CitationMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CitationMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// 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)
}

// 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)
}

// GoogleCloudAiplatformV1Citation: Source attributions for content.
type GoogleCloudAiplatformV1Citation struct {
	// EndIndex: Output only. End index into the content.
	EndIndex int64 `json:"endIndex,omitempty"`
	// License: Output only. License of the attribution.
	License string `json:"license,omitempty"`
	// PublicationDate: Output only. Publication date of the attribution.
	PublicationDate *GoogleTypeDate `json:"publicationDate,omitempty"`
	// StartIndex: Output only. Start index into the content.
	StartIndex int64 `json:"startIndex,omitempty"`
	// Title: Output only. Title of the attribution.
	Title string `json:"title,omitempty"`
	// Uri: Output only. Url reference of the attribution.
	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 source attributions
// for a piece of content.
type GoogleCloudAiplatformV1CitationMetadata struct {
	// Citations: Output only. List of citations.
	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)
}

// 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)
}

// GoogleCloudAiplatformV1ComputeTokensRequest: Request message for
// ComputeTokens RPC call.
type GoogleCloudAiplatformV1ComputeTokensRequest struct {
	// Instances: Required. The instances that are the input to token computing API
	// call. Schema is identical to the prediction schema of the text model, even
	// for the non-text models, like chat models, or Codey models.
	Instances []interface{} `json:"instances,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 *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 base structured datatype containing
// multi-part content of a message. A `Content` includes a `role` field
// designating the producer of the `Content` and a `parts` field containing
// multi-part data that contains the content of the message turn.
type GoogleCloudAiplatformV1Content struct {
	// Parts: Required. Ordered `Parts` that constitute a single message. Parts may
	// have different IANA MIME types.
	Parts []*GoogleCloudAiplatformV1Part `json:"parts,omitempty"`
	// Role: Optional. The producer of the content. Must be either 'user' or
	// 'model'. Useful to set for multi-turn conversations, otherwise can be left
	// blank or unset.
	Role string `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)
}

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

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

// 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)
}

// 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"`
	// 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"`
	// 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)
}

// 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"`
	// 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"`
	// Name: Output only. The resource name of the Dataset.
	Name string `json:"name,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)
}

// 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"`
	// Name: Output only. The resource name of the DatasetVersion.
	Name string `json:"name,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, 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 used
	// by the prediction.
	MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"`
	// MaxReplicaCount: Immutable. The maximum number of replicas this
	// DeployedModel may be deployed on when the traffic against it increases. If
	// the requested value is too large, the deployment will error, but if
	// deployment succeeds then the ability to scale the model to that many
	// replicas is guaranteed (barring service outages). If traffic against the
	// DeployedModel increases beyond what its replicas at maximum may handle, a
	// portion of the traffic will be dropped. If this value is not provided, will
	// use min_replica_count 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
	// this DeployedModel will be always deployed on. This value must be greater
	// than or equal to 1. If traffic against the DeployedModel increases, it may
	// dynamically be deployed onto more replicas, and as traffic decreases, some
	// of these extra replicas may be freed.
	MinReplicaCount int64 `json:"minReplicaCount,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 {
	// 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 *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)
}

// 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"`
	// 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"`
	// 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"`
	// 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"`
	// 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"`
	// 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: Required. The resource name of the Model that this is the deployment
	// of. Note that the Model may be in a different location than the
	// DeployedModel's Endpoint. The resource name may contain version id or
	// version alias to specify the version. Example:
	// `projects/{project}/locations/{location}/models/{model}@2` or
	// `projects/{project}/locations/{location}/models/{model}@golden` if no
	// version is specified, the default version will be deployed.
	Model string `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"`
	// 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 {
	// 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. "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 *GoogleCloudAiplatformV1DeployedModelRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedModelRef
	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"`
	// Name: Immutable. The resource name of the DeploymentResourcePool. Format:
	// `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_
	// resource_pool}`
	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 *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)
}

// 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 (default is "pd-ssd"). Valid values:
	// "pd-ssd" (Persistent Disk Solid State Drive) or "pd-standard" (Persistent
	// Disk Hard Disk Drive).
	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)
}

// 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
}

// GoogleCloudAiplatformV1EncryptionSpec: Represents a customer-managed
// encryption key spec that can be applied to a top-level resource.
type GoogleCloudAiplatformV1EncryptionSpec struct {
	// KmsKeyName: Required. The Cloud KMS resource identifier of the customer
	// managed encryption key used to protect a resource. Has the form:
	// `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.
	// The key needs to be in the same region as where the compute resource is
	// created.
	KmsKeyName string `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 {
	// CreateTime: Output only. Timestamp when this Endpoint was created.
	CreateTime string `json:"createTime,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"`
	// 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: Output only. 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"`
	// 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. "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 *GoogleCloudAiplatformV1Endpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Endpoint
	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"`
	// 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
}

// 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)
}

// 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)
}

// 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)
}

// 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
	// dataset_id. 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 dataset_id 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)
}

// 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.
	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,
	// which is required to have an entity_id and a feature_timestamp column in the
	// source.
	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"`
	// 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"`
	// EntityIdColumns: Optional. Columns to construct entity_id / row keys. If not
	// provided defaults to `entity_id`.
	EntityIdColumns []string `json:"entityIdColumns,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)
}

// 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"`
	// 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"`
	// 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"`
	// 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)
}

// 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 {
	// PublicEndpointDomainName: Output only. This field will be populated with the
	// domain name to use for this FeatureOnlineStore
	PublicEndpointDomainName string `json:"publicEndpointDomainName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PublicEndpointDomainName")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PublicEndpointDomainName") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values 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"`
	// 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. 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"`
	// 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"`
	// 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"`

	// 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)
}

// 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)
}

// 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)
}

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

// 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"`
	// 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)
}

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

// 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
}

// 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
}

// 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. Required. The function parameters and values in JSON object
	// format. See [FunctionDeclaration.parameters] for parameter details.
	Args googleapi.RawMessage `json:"args,omitempty"`
	// Name: Required. The name of the function to call. Matches
	// [FunctionDeclaration.name].
	Name string `json:"name,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)
}

// 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 and parameters. This FunctionDeclaration is a representation
// of a block of code that can be used as a `Tool` by the model and executed by
// the client.
type 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 and
	// dashes, with a maximum length of 64.
	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"`
	// 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"`
	// Response: Required. The function response in JSON object format.
	Response googleapi.RawMessage `json:"response,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)
}

// 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/gsutil/addlhelp/WildcardNames.
	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)
}

// GoogleCloudAiplatformV1GenerateContentRequest: Request message for
// [PredictionService.GenerateContent].
type GoogleCloudAiplatformV1GenerateContentRequest struct {
	// 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"`
	// 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"`
	// 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 *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"`
	// 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"`
	// 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.
type GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback struct {
	// BlockReason: Output only. Blocked reason.
	//
	// Possible values:
	//   "BLOCKED_REASON_UNSPECIFIED" - Unspecified blocked reason.
	//   "SAFETY" - Candidates blocked due to safety.
	//   "OTHER" - Candidates blocked due to other reason.
	//   "BLOCKLIST" - Candidates blocked due to the terms which are included from
	// the terminology blocklist.
	//   "PROHIBITED_CONTENT" - Candidates blocked due to prohibited content.
	BlockReason string `json:"blockReason,omitempty"`
	// BlockReasonMessage: Output only. A readable block reason message.
	BlockReasonMessage string `json:"blockReasonMessage,omitempty"`
	// SafetyRatings: Output only. Safety ratings.
	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 response(s).
type GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata struct {
	// CandidatesTokenCount: Number of tokens in the response(s).
	CandidatesTokenCount int64 `json:"candidatesTokenCount,omitempty"`
	// PromptTokenCount: Number of tokens in the request.
	PromptTokenCount int64 `json:"promptTokenCount,omitempty"`
	TotalTokenCount  int64 `json:"totalTokenCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CandidatesTokenCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CandidatesTokenCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values 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)
}

// GoogleCloudAiplatformV1GenerationConfig: Generation config.
type GoogleCloudAiplatformV1GenerationConfig struct {
	// CandidateCount: Optional. Number of candidates to generate.
	CandidateCount int64 `json:"candidateCount,omitempty"`
	// FrequencyPenalty: Optional. Frequency penalties.
	FrequencyPenalty float64 `json:"frequencyPenalty,omitempty"`
	// MaxOutputTokens: Optional. The maximum number of output tokens to generate
	// per message.
	MaxOutputTokens int64 `json:"maxOutputTokens,omitempty"`
	// PresencePenalty: Optional. Positive penalties.
	PresencePenalty float64 `json:"presencePenalty,omitempty"`
	// ResponseMimeType: Optional. Output response mimetype of the generated
	// candidate text. Supported mimetype: - `text/plain`: (default) Text output. -
	// `application/json`: JSON response in the candidates. The model needs to be
	// prompted to output the appropriate response type, otherwise the behavior is
	// undefined. This is a preview feature.
	ResponseMimeType string `json:"responseMimeType,omitempty"`
	// StopSequences: Optional. Stop sequences.
	StopSequences []string `json:"stopSequences,omitempty"`
	// Temperature: Optional. Controls the randomness of predictions.
	Temperature float64 `json:"temperature,omitempty"`
	// TopK: Optional. If specified, top-k sampling will be used.
	TopK float64 `json:"topK,omitempty"`
	// TopP: Optional. If specified, nucleus sampling will be used.
	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 *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
}

// 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)
}

// GoogleCloudAiplatformV1GroundingMetadata: Metadata returned to client when
// grounding is enabled.
type GoogleCloudAiplatformV1GroundingMetadata struct {
	// SearchEntryPoint: Optional. Google search entry for the following-up web
	// searches.
	SearchEntryPoint *GoogleCloudAiplatformV1SearchEntryPoint `json:"searchEntryPoint,omitempty"`
	// WebSearchQueries: Optional. Web search queries for the following-up web
	// search.
	WebSearchQueries []string `json:"webSearchQueries,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SearchEntryPoint") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SearchEntryPoint") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// 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)
}

// 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"`
	// 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)
}

// 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)
}

// 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"`
	// 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"`
	// 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: Optional. The list of indexes for the embedding values of the
	// sparse vector.
	Dimensions googleapi.Int64s `json:"dimensions,omitempty"`
	// Values: Optional. 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"`
	// 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)
}

// 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)
}

// 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)
}

// 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)
}

// 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)
}

// 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)
}

// 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)
}

// 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)
}

// 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 to
	// ListTuningJobsRequest.page_token to obtain that page.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// TuningJobs: List of TuningJobs in the requested page.
	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)
}

// 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)
}

// GoogleCloudAiplatformV1MachineSpec: Specification of a single machine.
type GoogleCloudAiplatformV1MachineSpec struct {
	// AcceleratorCount: The number of accelerators to attach to the machine.
	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" - Nvidia Tesla K80 GPU.
	//   "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.
	//   "TPU_V2" - TPU v2.
	//   "TPU_V3" - TPU v3.
	//   "TPU_V4_POD" - TPU v4.
	//   "TPU_V5_LITEPOD" - TPU v5.
	AcceleratorType string `json:"acceleratorType,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"`
	// 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
}

// 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)
}

// 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"`
	// 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)
}

// 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)
}

// 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. 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: 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)
}

// 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"`
	// 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"`
	// 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: 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"`
	// 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)
}

// 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"`
	// 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"`
	// 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.
	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"`
	// 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
	// google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. This can
	// be further sinked 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)
}

// 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 * autoscaling_metric_specs *
	// `disable_container_logging` (v1 only) * `enable_container_logging` (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"`
	// 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"`
	// 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
}

// 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"`
	// 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"`
	// 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.
	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)
}

// 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 limited to 24 hours.
type GoogleCloudAiplatformV1NotebookRuntime struct {
	// CreateTime: Output only. Timestamp when this NotebookRuntime was created.
	CreateTime string `json:"createTime,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"`
	// 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"`
	// 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"`
	// Name: Output only. The resource name of the NotebookRuntime.
	Name string `json:"name,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.
	//   "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"`
	// ServiceAccount: Output only. The service account that the NotebookRuntime
	// workload runs as.
	ServiceAccount string `json:"serviceAccount,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"`
	// 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. 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: 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"`
	// 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)
}

// 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`. A `Part` must have a fixed IANA MIME type identifying the type
// and subtype of the media if `inline_data` or `file_data` field is filled
// with raw bytes.
type GoogleCloudAiplatformV1Part struct {
	// FileData: Optional. URI based data.
	FileData *GoogleCloudAiplatformV1FileData `json:"fileData,omitempty"`
	// FunctionCall: Optional. A predicted [FunctionCall] returned from the model
	// that contains a string representing the [FunctionDeclaration.name] with the
	// parameters and their values.
	FunctionCall *GoogleCloudAiplatformV1FunctionCall `json:"functionCall,omitempty"`
	// FunctionResponse: Optional. The result output of a [FunctionCall] that
	// contains a string representing the [FunctionDeclaration.name] and a
	// structured JSON object containing any output from the function call. It is
	// used as context to the model.
	FunctionResponse *GoogleCloudAiplatformV1FunctionResponse `json:"functionResponse,omitempty"`
	// InlineData: Optional. Inlined bytes data.
	InlineData *GoogleCloudAiplatformV1Blob `json:"inlineData,omitempty"`
	// Text: Optional. Text part (can be code).
	Text string `json:"text,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. "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 *GoogleCloudAiplatformV1Part) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Part
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// 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"`
	// 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"`
	// 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: The spec of the pipeline.
	PipelineSpec googleapi.RawMessage `json:"pipelineSpec,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"`
	// 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)
}

// 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)
}

// 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)
}

// 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"`
	// 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)
}

// 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"`
	// 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: Exec specifies the action to take.
	Exec *GoogleCloudAiplatformV1ProbeExecAction `json:"exec,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"`
	// 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)
}

// 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)
}

// 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. 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"`
	// FineTune: Optional. Fine tune the PublisherModel with the third-party model
	// tuning UI.
	FineTune *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences `json:"fineTune,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"`
	// 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)
}

// 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)
}

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

// 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)
}

// 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)
}

// 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 {
}

// 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)
}

// 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:"-"`
}

// 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 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
	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 {
}

// 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. Disable using the result from this tool in
	// detecting grounding attribution. This does not affect how the result is
	// given to the model for generation.
	DisableAttribution bool `json:"disableAttribution,omitempty"`
	// VertexAiSearch: Set to use data source powered by Vertex AI Search.
	VertexAiSearch *GoogleCloudAiplatformV1VertexAISearch `json:"vertexAiSearch,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)
}

// GoogleCloudAiplatformV1SafetyRating: Safety rating corresponding to the
// generated content.
type GoogleCloudAiplatformV1SafetyRating struct {
	// Blocked: Output only. Indicates whether the content was filtered out because
	// of this rating.
	Blocked bool `json:"blocked,omitempty"`
	// Category: Output only. Harm category.
	//
	// Possible values:
	//   "HARM_CATEGORY_UNSPECIFIED" - The harm category is unspecified.
	//   "HARM_CATEGORY_HATE_SPEECH" - The harm category is hate speech.
	//   "HARM_CATEGORY_DANGEROUS_CONTENT" - The harm category is dangerous
	// content.
	//   "HARM_CATEGORY_HARASSMENT" - The harm category is harassment.
	//   "HARM_CATEGORY_SEXUALLY_EXPLICIT" - The harm category is sexually explicit
	// content.
	Category string `json:"category,omitempty"`
	// Probability: Output only. Harm probability levels in the content.
	//
	// Possible values:
	//   "HARM_PROBABILITY_UNSPECIFIED" - Harm probability unspecified.
	//   "NEGLIGIBLE" - Negligible level of harm.
	//   "LOW" - Low level of harm.
	//   "MEDIUM" - Medium level of harm.
	//   "HIGH" - High level of harm.
	Probability string `json:"probability,omitempty"`
	// ProbabilityScore: Output only. Harm probability score.
	ProbabilityScore float64 `json:"probabilityScore,omitempty"`
	// Severity: Output only. Harm severity levels in the content.
	//
	// Possible values:
	//   "HARM_SEVERITY_UNSPECIFIED" - Harm severity unspecified.
	//   "HARM_SEVERITY_NEGLIGIBLE" - Negligible level of harm severity.
	//   "HARM_SEVERITY_LOW" - Low level of harm severity.
	//   "HARM_SEVERITY_MEDIUM" - Medium level of harm severity.
	//   "HARM_SEVERITY_HIGH" - High level of harm severity.
	Severity string `json:"severity,omitempty"`
	// SeverityScore: Output only. Harm severity score.
	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
}

// GoogleCloudAiplatformV1SafetySetting: Safety settings.
type GoogleCloudAiplatformV1SafetySetting struct {
	// Category: Required. Harm category.
	//
	// Possible values:
	//   "HARM_CATEGORY_UNSPECIFIED" - The harm category is unspecified.
	//   "HARM_CATEGORY_HATE_SPEECH" - The harm category is hate speech.
	//   "HARM_CATEGORY_DANGEROUS_CONTENT" - The harm category is dangerous
	// content.
	//   "HARM_CATEGORY_HARASSMENT" - The harm category is harassment.
	//   "HARM_CATEGORY_SEXUALLY_EXPLICIT" - The harm category is sexually explicit
	// content.
	Category string `json:"category,omitempty"`
	// Method: Optional. Specify if the threshold is used for probability or
	// severity score. If not specified, the threshold is used for 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 harm block threshold.
	//
	// Possible values:
	//   "HARM_BLOCK_THRESHOLD_UNSPECIFIED" - Unspecified harm block threshold.
	//   "BLOCK_LOW_AND_ABOVE" - Block low threshold and above (i.e. block more).
	//   "BLOCK_MEDIUM_AND_ABOVE" - Block medium threshold and above.
	//   "BLOCK_ONLY_HIGH" - Block only high threshold (i.e. block less).
	//   "BLOCK_NONE" - Block none.
	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)
}

// 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
}

// 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"`
	// 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"`
	// 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"`
	// RestartJobOnWorkerRestart: 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"`
	// Timeout: 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: Schema is used to define the format of
// input/output data. Represents a select subset of an OpenAPI 3.0 schema
// object (https://spec.openapis.org/oas/v3.0.3#schema). More fields may be
// added in the future as needed.
type GoogleCloudAiplatformV1Schema struct {
	// Default: Optional. Default value of the data.
	Default interface{} `json:"default,omitempty"`
	// Description: Optional. The description of the data.
	Description string `json:"description,omitempty"`
	// Enum: Optional. Possible values of the element of Type.STRING with enum
	// format. For example we can define an Enum Direction as : {type:STRING,
	// format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
	Enum []string `json:"enum,omitempty"`
	// Example: Optional. Example of the object. Will only populated when the
	// object is the root.
	Example interface{} `json:"example,omitempty"`
	// Format: Optional. The format of the data. Supported formats: for NUMBER
	// type: "float", "double" for INTEGER type: "int32", "int64" for STRING type:
	// "email", "byte", etc
	Format string `json:"format,omitempty"`
	// Items: Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of
	// Type.ARRAY.
	Items *GoogleCloudAiplatformV1Schema `json:"items,omitempty"`
	// MaxItems: Optional. Maximum number of the elements for Type.ARRAY.
	MaxItems int64 `json:"maxItems,omitempty,string"`
	// MaxLength: Optional. Maximum length of the Type.STRING
	MaxLength int64 `json:"maxLength,omitempty,string"`
	// MaxProperties: Optional. Maximum number of the properties for Type.OBJECT.
	MaxProperties int64 `json:"maxProperties,omitempty,string"`
	// Maximum: Optional. Maximum value of the Type.INTEGER and Type.NUMBER
	Maximum float64 `json:"maximum,omitempty"`
	// MinItems: Optional. Minimum number of the elements for Type.ARRAY.
	MinItems int64 `json:"minItems,omitempty,string"`
	// MinLength: Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the
	// Type.STRING
	MinLength int64 `json:"minLength,omitempty,string"`
	// MinProperties: Optional. Minimum number of the properties for Type.OBJECT.
	MinProperties int64 `json:"minProperties,omitempty,string"`
	// Minimum: Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value
	// of the Type.INTEGER and Type.NUMBER
	Minimum float64 `json:"minimum,omitempty"`
	// Nullable: Optional. Indicates if the value may be null.
	Nullable bool `json:"nullable,omitempty"`
	// Pattern: Optional. Pattern of the Type.STRING to restrict a string to a
	// regular expression.
	Pattern string `json:"pattern,omitempty"`
	// Properties: Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of
	// Type.OBJECT.
	Properties map[string]GoogleCloudAiplatformV1Schema `json:"properties,omitempty"`
	// Required: Optional. Required properties of Type.OBJECT.
	Required []string `json:"required,omitempty"`
	// Title: Optional. The title of the Schema.
	Title string `json:"title,omitempty"`
	// Type: Optional. The type of the data.
	//
	// 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
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Default") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Default") to include in API
	// requests with the JSON null value. By default, fields with empty values 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)
}

// 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 the original text in
	// user's bucket. 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"`
	// 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"`
	// PromptType: Type of the prompt dataset.
	PromptType string `json:"promptType,omitempty"`
	// StopSequences: Customized stop sequences.
	StopSequences []string `json:"stopSequences,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: A vertex represents a 2D point in the
// image. NOTE: the normalized vertex coordinates are relative to the original
// image and range from 0 to 1.
type GoogleCloudAiplatformV1SchemaVertex struct {
	// X: X coordinate.
	X float64 `json:"x,omitempty"`
	// Y: Y coordinate.
	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: Google search entry point.
type GoogleCloudAiplatformV1SearchEntryPoint struct {
	// RenderedContent: Optional. Web content snippet that can be embedded in a web
	// page or an app webview.
	RenderedContent string `json:"renderedContent,omitempty"`
	// SdkBlob: Optional. Base64 encoded JSON representing array of tuple.
	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)
}

// 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)
}

// 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)
}

// 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
}

// 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)
}

// 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 {
}

// 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
}

// 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.StreamingFeatureValuesRead.
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)
}

// 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)
}

// 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_FOUR" - Adapter size 4.
	//   "ADAPTER_SIZE_EIGHT" - Adapter size 8.
	//   "ADAPTER_SIZE_SIXTEEN" - Adapter size 16.
	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.
	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 {
	// TotalBillableCharacterCount: Output only. Number of billable characters in
	// the tuning dataset.
	TotalBillableCharacterCount int64 `json:"totalBillableCharacterCount,omitempty,string"`
	// TotalTuningCharacterCount: Output only. Number of tuning characters in the
	// tuning dataset.
	TotalTuningCharacterCount int64 `json:"totalTuningCharacterCount,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 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.
	// "TotalBillableCharacterCount") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TotalBillableCharacterCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values 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 {
	// 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. "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 *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.
type GoogleCloudAiplatformV1SupervisedTuningSpec struct {
	// HyperParameters: Optional. Hyperparameters for SFT.
	HyperParameters *GoogleCloudAiplatformV1SupervisedHyperParameters `json:"hyperParameters,omitempty"`
	// TrainingDatasetUri: Required. Cloud Storage path to file containing training
	// dataset for 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 tuning. The dataset must be formatted as a JSONL
	// file.
	ValidationDatasetUri string `json:"validationDatasetUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "HyperParameters") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HyperParameters") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// 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: Respose 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)
}

// 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)
}

// 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"`
	// 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 {
	// 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. "TokenIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "TokenIds") to include in API
	// requests with the JSON null value. By default, fields with empty values 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 {
	// 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 64 function
	// declarations can be provided.
	FunctionDeclarations []*GoogleCloudAiplatformV1FunctionDeclaration `json:"functionDeclarations,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"`
	// ForceSendFields is a list of field names (e.g. "FunctionDeclarations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FunctionDeclarations") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values 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)
}

// 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)
}

// 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)
}

// GoogleCloudAiplatformV1TrialContext: Next ID: 3
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 assiociated with this TuningJob.
type GoogleCloudAiplatformV1TunedModel struct {
	// 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}`.
	Model string `json:"model,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 *GoogleCloudAiplatformV1TunedModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TunedModel
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1TuningDataStats: The tuning data statistic values for
// TuningJob.
type GoogleCloudAiplatformV1TuningDataStats struct {
	// SupervisedTuningDataStats: The SFT Tuning data stats.
	SupervisedTuningDataStats *GoogleCloudAiplatformV1SupervisedTuningDataStats `json:"supervisedTuningDataStats,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SupervisedTuningDataStats")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SupervisedTuningDataStats") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values 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, e.g., "gemini-1.0-pro-002".
	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"`
	// 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"`
	// 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"`
	// 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 assiociated 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.
	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)
}

// 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)
}

// 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:"-"`
}

// 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 for grounding. See
// https://cloud.google.com/vertex-ai-search-and-conversation
type GoogleCloudAiplatformV1VertexAISearch struct {
	// Datastore: Required. Fully-qualified Vertex AI Search's datastore resource
	// ID. Format:
	// `projects/{project}/locations/{location}/collections/{collection}/dataStores/
	// {dataStore}`
	Datastore string `json:"datastore,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 *GoogleCloudAiplatformV1VertexAISearch) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1VertexAISearch
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudAiplatformV1VideoMetadata: Metadata describes the input video
// content.
type GoogleCloudAiplatformV1VideoMetadata struct {
	// EndOffset: Optional. The end offset of the video.
	EndOffset string `json:"endOffset,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)
}

// 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"`
	// 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"`

	// 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)
}

// 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 IntelligenceCloudAutomlXpsMetricEntry struct {
	// ArgentumMetricId: For billing metrics that are using legacy sku's, set the
	// legacy billing metric id here. This will be sent to Chemist as the
	// "cloudbilling.googleapis.com/argentum_metric_id" label. Otherwise leave
	// empty.
	ArgentumMetricId string `json:"argentumMetricId,omitempty"`
	// DoubleValue: A double value.
	DoubleValue float64 `json:"doubleValue,omitempty"`
	// Int64Value: A signed 64-bit integer value.
	Int64Value int64 `json:"int64Value,omitempty,string"`
	// MetricName: The metric name defined in the service configuration.
	MetricName string `json:"metricName,omitempty"`
	// SystemLabels: Billing system labels for this (metric, value) pair.
	SystemLabels []*IntelligenceCloudAutomlXpsMetricEntryLabel `json:"systemLabels,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ArgentumMetricId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArgentumMetricId") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

func (s *IntelligenceCloudAutomlXpsMetricEntry) UnmarshalJSON(data []byte) error {
	type NoMethod IntelligenceCloudAutomlXpsMetricEntry
	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
}

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

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

type IntelligenceCloudAutomlXpsReportingMetrics struct {
	// EffectiveTrainingDuration: The effective time training used. If set, this is
	// used for quota management and billing. Deprecated. AutoML BE doesn't use
	// this. Don't set.
	EffectiveTrainingDuration string `json:"effectiveTrainingDuration,omitempty"`
	// MetricEntries: One entry per metric name. The values must be aggregated per
	// metric name.
	MetricEntries []*IntelligenceCloudAutomlXpsMetricEntry `json:"metricEntries,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EffectiveTrainingDuration")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EffectiveTrainingDuration") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LanguageLabsAidaTrustRecitationProtoDocAttribution: The proto defines the
// attribution information for a document using whatever fields are most
// applicable for that document's datasource. For example, a Wikipedia
// article's attribution is in the form of its article title, a website is in
// the form of a URL, and a Github repo is in the form of a repo name. Next id:
// 30
type LanguageLabsAidaTrustRecitationProtoDocAttribution struct {
	AmarnaId string `json:"amarnaId,omitempty"`
	ArxivId  string `json:"arxivId,omitempty"`
	Author   string `json:"author,omitempty"`
	Bibkey   string `json:"bibkey,omitempty"`
	// BiorxivId: ID of the paper in bioarxiv like ddoi.org/{biorxiv_id} eg:
	// https://doi.org/10.1101/343517
	BiorxivId string `json:"biorxivId,omitempty"`
	BookTitle string `json:"bookTitle,omitempty"`
	// BookVolumeId: The Oceanographers full-view books dataset uses a 'volume id'
	// as the unique ID of a book. There is a deterministic function from a volume
	// id to a URL under the books.google.com domain. Marked as 'optional' since a
	// volume ID of zero is potentially possible and we want to distinguish that
	// from the volume ID not being set.
	BookVolumeId int64 `json:"bookVolumeId,omitempty,string"`
	// Possible values:
	//   "CATEGORY_UNSPECIFIED"
	//   "CATEGORY_NEWS" - The doc has a url and the news classifier has classified
	// this doc as news.
	//   "CATEGORY_NON_NEWS_WEBDOC" - The doc has a url and the news classifier
	// classified this doc as non-news.
	//   "CATEGORY_UNKNOWN_MISSING_SIGNAL" - The doc has a url but the url was
	// missing from the news classifier URL table.
	Category       string `json:"category,omitempty"`
	ConversationId string `json:"conversationId,omitempty"`
	// Dataset: The dataset this document comes from.
	//
	// Possible values:
	//   "DATASET_UNSPECIFIED"
	//   "WIKIPEDIA" - Wikipedia article Tensorflow datasets used by Tarzan and
	// maintained by TFDS team.
	//   "WEBDOCS" - Webdocs that have been filtered from the docjoins by the
	// Tarzan team for use in the Tarzan training set.
	//   "WEBDOCS_FINETUNE"
	//   "GITHUB_MIRROR"
	//   "BOOKS_FULL_VIEW" - 'Full view' books dataset maintained by Oceanographers
	// team, meaning 'ok to view the book in full in all localities'. Largely the
	// same as 'public domain', but with potentially subtle distinction.
	//   "BOOKS_PRIVATE" - Filtered private books used by ULM:
	// http://google3/learning/multipod/pax/lm/params/ulm/tasks.py;l=123;rcl=494241309.
	// which corresponds with
	// /cns/mf-d/home/multipod-language-data/private_books/books_filtered_en_reshard
	// ed@50000
	//   "GNEWS" - Google news dataset referenced in:
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_tasks.py;l=922;rcl=496534668
	//   "ULM_DOCJOINS" - The docjoins data for ULM
	// /cns/yo-d/home/multipod-language-data/docjoins/rs=6.3/20220728/100B_docstruct
	// ure_split/examples_en.tfrecord_lattice_05_score_01_HFV13@3929
	//   "ULM_DOCJOINS_DEDUPED"
	//   "MEENA_FC" - Meena full conversations.
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_mixtures.py;l=675;rcl=496583228
	//   "PODCAST"
	//   "AQUA"
	//   "WEB_ASR"
	//   "BARD_GOLDEN"
	//   "COMMON_SENSE_REASONING"
	//   "MATH"
	//   "MATH_REASONING"
	//   "CLEAN_ARXIV"
	//   "LAMDA_FACTUALITY_E2E_QUERY_GENERATION"
	//   "LAMDA_FACTUALITY_E2E_RESPONSE_GENERATION"
	//   "MASSIVE_FORUM_THREAD_SCORED_BARD"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_200"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_500"
	//   "DOCUMENT_CHUNKS"
	//   "MEENA_RESEARCH_PHASE_GOLDEN_MARKDOWN"
	//   "MEENA_RESEARCH_PHASE_GOOGLERS"
	//   "MEENA_RESPONSE_SAFETY_HUMAN_GEN"
	//   "MEENA_RESPONSE_SAFETY_SCHEMA_NO_BROADCAST"
	//   "MEENA_RESPONSE_SAFETY_V3_HUMAN_GEN2"
	//   "MEENA_RESPONSE_SAFETY_V3_SCHEMA_NO_BROADCAST"
	//   "LAMDA_FACTUALITY_TRIGGER"
	//   "LAMDA_SAFETY_V2_SCHEMA_NO_BROADCAST"
	//   "LAMDA_SSI_DISCRIMINATIVE"
	//   "ASSISTANT_PERSONALITY_SAFETY"
	//   "PODCAST_FINETUNE_DIALOG"
	//   "WORLD_QUERY_GENERATOR"
	//   "C4_JOINED_DOCJOINS"
	//   "HOL4_THEORIES"
	//   "HOL_LIGHT_THEORIES"
	//   "HOLSTEPS"
	//   "ISABELLE_STEP"
	//   "ISABELLE_THEORIES"
	//   "LEAN_MATHLIB_THEORIES"
	//   "LEAN_STEP"
	//   "MIZAR_THEORIES"
	//   "COQ_STEP"
	//   "COQ_THEORIES"
	//   "AMPS_KHAN" - Academic dataset of math text.
	// http://google3/learning/brain/research/conversation/meena/seqio/mixtures/experimental/bard.py;rcl=500222380
	//   "AMPS_MATHEMATICA"
	//   "CODEY_CODE"
	//   "CODE_QA_SE"
	//   "CODE_QA_SO"
	//   "CODE_QA_FT_FORMAT"
	//   "CODE_QA_FT_KNOWLEDGE"
	//   "CODE_QA_GITHUB_FILTERED_CODE"
	//   "BARD_PERSONALITY_GOLDEN"
	//   "ULM_DOCJOINS_WITH_URLS_EN"
	//   "ULM_DOCJOINS_WITH_URLS_I18N"
	//   "GOODALL_MTV5_GITHUB" - Datasets managed by the Goodall team:
	// deepmind-goodall@google.com
	//   "GOODALL_MTV5_BOOKS"
	//   "GOODALL_MTV5_C4"
	//   "GOODALL_MTV5_WIKIPEDIA"
	//   "GOODALL_MW_TOP_100B"
	//   "GOODALL_MW_STACK_EXCHANGE"
	//   "GOODALL_MW_TOP_0_10B"
	//   "GOODALL_MW_TOP_10B_20B"
	//   "CODEY_NOTEBOOK_LM_PRETRAINING" - Datasets used by Codepoet
	//   "VERTEX_SAFE_FLAN" - Datasets used by Vertex
	//   "GITHUB_MIRROR_V1_0_1"
	//   "GITHUB_MIRROR_V2_1_0"
	//   "CMS_WIKIPEDIA_LANG_FILTERED" - Datasets used by Gemini Public data
	//   "CMS_STACKOVERFLOW_MULTILINGUAL"
	//   "CMS_STACKEXCHANGE"
	//   "PUBMED"
	//   "GEMINI_DOCJOINS_EN_TOP10B_GCC" - Public webdocs
	//   "GEMINI_DOCJOINS_EN_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP20B_TOP100B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP20B_TOP100B_GCC"
	//   "SIMPLIFIED_HTML_V1_GCC"
	//   "GEMINI_DOCJOINS_TOXICITY_TAGGED_GCC"
	//   "CMS_GITHUB_V4" - Github
	//   "GITHUB_HTML_V4"
	//   "GITHUB_OTHER_V4"
	//   "GITHUB_LONG_TAIL_V4"
	//   "CMS_GITHUB_MULTIFILE_V4"
	//   "GITHUB_DIFFS_WITH_COMMIT_MESSAGE"
	//   "ULM_ARXIV" - Arxiv
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_ENONLY" - Others
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_NONENONLY"
	//   "QUORA"
	//   "PODCASTS_ROBOTSTXT"
	//   "COMBINED_REDDIT"
	//   "CANARIES_SHUFFLED"
	//   "CLM_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "TECHDOCS_DATA_SOURCE"
	//   "SCIENCE_PDF_70M_DOCS_FILTERED"
	//   "GEMINI_V1_CMS_WIKIPEDIA_LANG_FILTERED" - Gemini V1, order by precedence.
	// Wikipedia
	//   "GEMINI_V1_WIKIPEDIA_DIFFS"
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_GCC_NODEDUP_050523" - Public webdocs
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_TOP20B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP20B_TOP100B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_TOP20B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP20B_TOP100B_GCC_050523"
	//   "GEMINI_V1_SIMPLIFIED_HTML_V2_GCC"
	//   "GEMINI_V1_CMS_STACKOVERFLOW_MULTILINGUAL_V2"
	//   "GEMINI_V1_CMS_STACKEXCHANGE_DECONT"
	//   "GEMINI_V1_QUORA"
	//   "GEMINI_V1_COMBINED_REDDIT"
	//   "GEMINI_V1_DOCJOIN_100B_EN_TOXICITY_TAGGED_GCC_FIXED_TAGS"
	//   "GEMINI_V1_PUBMED"
	//   "GEMINI_V1_WEB_MATH_V2"
	//   "GEMINI_V1_CMS_GITHUB_V7" - Github dataset with license info. We prefer
	// this to help cite proper licenses for code recitation.
	//   "GEMINI_V1_CMS_GITHUB_DECONTAMINATED_V_7"
	//   "GEMINI_V1_GITHUB_DIFF_WITH_COMMIT_MESSAGE_V2"
	//   "GEMINI_V1_GITHUB_HTML_CSS_XML_V4"
	//   "GEMINI_V1_GITHUB_OTHER_V4"
	//   "GEMINI_V1_GITHUB_LONG_TAIL_V4"
	//   "GEMINI_V1_GITHUB_JUPTYER_NOTEBOOKS_SSTABLE"
	//   "GEMINI_V1_ULM_ARXIV_SSTABLE" - ArXiv
	//   "GEMINI_V1_PODCASTS_ROBOTSTXT" - Citable misc
	//   "GEMINI_V1_SCIENCE_PDF_68M_HQ_DOCS_GCC"
	//   "GEMINI_V1_GITHUB_TECHDOCS_V2"
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_EN" - Non-public
	// books
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_NONEN"
	//   "GEMINI_V1_STEM_BOOKS_650K_TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_M3W_V2_FILTERED" - Other
	//
	// "GEMINI_V1_VQCOCA_1B_MULTIRES_WEBLI_EN_V4_350M_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_SCREENAI_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CULTURE_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_EN_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_I18N_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_NON_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_VTP_4F_VIDEO2TEXT_PREFIX"
	//   "GEMINI_V1_FORMAL_MATH_WITHOUT_HOLSTEPS_AND_MIZAR"
	//   "GEMINI_V1_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "GEMINI_V1_CANARIES_SHUFFLED_DOCJOIN_EN_NONEN_CODE_ARXIV_TRANSLATE"
	//   "DUET_CLOUD_SECURITY_DOCS" - Duet AI finetune datasets, order by
	// precedence.
	//   "DUET_GITHUB_CODE_SNIPPETS"
	//   "DUET_GITHUB_FILES"
	//   "DUET_GOBYEXAMPLE"
	//   "DUET_GOLANG_DOCS"
	//   "DUET_CLOUD_DOCS_TROUBLESHOOTING_TABLES"
	//   "DUET_DEVSITE_DOCS"
	//   "DUET_CLOUD_BLOG_POSTS"
	//   "DUET_CLOUD_PODCAST_EPISODES"
	//   "DUET_YOUTUBE_VIDEOS"
	//   "DUET_CLOUD_SKILLS_BOOST"
	//   "DUET_CLOUD_DOCS"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_GENERATED"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_HANDWRITTEN"
	//   "DUET_GOOGLESQL_GENERATION"
	//   "DUET_CLOUD_IX_PROMPTS"
	//   "DUET_RAD"
	//   "DUET_STACKOVERFLOW_ISSUES"
	//   "DUET_STACKOVERFLOW_ANSWERS"
	//   "BARD_ARCADE_GITHUB" - Bard ARCADE finetune dataset.
	//   "MOBILE_ASSISTANT_MAGI_FILTERED_0825_373K" - Mobile assistant finetune
	// datasets.
	//   "MOBILE_ASSISTANT_PALM24B_FILTERED_400K"
	//   "GENESIS_NEWS_INSIGHTS" - Genesis fine-tune datasets.
	//   "CLOUD_SECURITY_PRETRAINING" - Cloud Security fine-tune datasets.
	//   "CLOUD_SECURITY_FINETUNING"
	//   "CLOUD_SECURITY_RAG_CISA"
	//   "LABS_AQA_DSCOUT" - LABS AQA fine-tune datasets.
	//   "LABS_AQA_TAILWIND"
	//   "LABS_AQA_DELEWARE"
	//   "GEMINI_MULTIMODAL_FT_URL" - Gemini multimodal instruction tune(IT) and
	// fine tune(FT) datasets datasets.
	//   "GEMINI_MULTIMODAL_FT_YT"
	//   "GEMINI_MULTIMODAL_FT_SHUTTERSTOCK"
	//   "GEMINI_MULTIMODAL_FT_NONE"
	//   "GEMINI_MULTIMODAL_FT_OTHER"
	//   "GEMINI_MULTIMODAL_FT_INK"
	//   "GEMINI_MULTIMODAL_IT"
	//   "GEMINI_IT_SHUTTERSTOCK" - Gemini IT 1.2.7 datasets
	//   "GEMINI_IT_M3W"
	//   "GEMINI_IT_HEDGING"
	//   "GEMINI_IT_DSCOUT_FACTUALITY"
	//   "GEMINI_IT_AQUAMUSE"
	//   "GEMINI_IT_SHOTGUN"
	//   "GEMINI_IT_ACI_BENCH"
	//   "GEMINI_IT_SPIDER_FILTERED"
	//   "GEMINI_IT_TAB_SUM_BQ"
	//   "GEMINI_IT_QA_WITH_URL"
	//   "GEMINI_IT_CODE_INSTRUCT"
	//   "GEMINI_IT_MED_PALM"
	//   "GEMINI_IT_TASK_ORIENTED_DIALOG"
	//   "GEMINI_IT_NIMBUS_GROUNDING_TO_PROMPT"
	//   "GEMINI_IT_EITL_GEN"
	//   "GEMINI_IT_HITL_GEN"
	//   "GEMINI_IT_MECH"
	//   "GEMINI_IT_TABLE_GEN"
	//   "GEMINI_IT_NIMBUS_DECIBEL"
	//   "GEMINI_IT_CLOUD_CODE_IF"
	//   "GEMINI_IT_CLOUD_EUR_LEX_JSON"
	//   "GEMINI_IT_CLOUD_OASST"
	//   "GEMINI_IT_CLOUD_SELF_INSTRUCT"
	//   "GEMINI_IT_CLOUD_UCS_AQUAMUSE"
	//   "GEMIT_BRIDGE_SUFFIX_FT" - Gemit Bridge ULM FT dataset
	//   "GEMINI_GOOSE_PUBLIC" - Gemini Goose FT datasets.
	//   "GEMINI_GOOSE_SILOED"
	//   "GEMINI_V2_CMS_WIKIPEDIA_LANG_FILTERED_GCC_PII" - Gemini V2 datasets
	//   "GEMINI_V2_WIKIPEDIA_DIFFS_COMPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP10B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP10B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP20B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP20B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP100B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP100B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_NONARTICLES
	// _COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_ARTICLES_CO
	// MPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_QUORA_COMPLIANT"
	//   "GEMINI_V2_FORUMS_V2_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKOVERFLOW_MULTILINGUAL_V2_COMPLIANT"
	//   "GEMINI_V2_SIMPLIFIED_HTML_V2_CORRECT_FORMAT_COMPLIANT"
	//   "GEMINI_V2_GEMINI_DOCJOINS_TOXICITY_TAGGED_FIXED_TAGS_COMPLIANT"
	//   "GEMINI_V2_CODEWEB_V1_COMPLIANT"
	//   "GEMINI_V2_LEETCODE_GCC_PII"
	//   "GEMINI_V2_CODE_CONTESTS_COMPLIANT"
	//   "GEMINI_V2_CMS_GITHUB_MULTI_FILE_FOR_FIM_GEMBAGZ_FIXED_BYTES_LENGTHS"
	//   "GEMINI_V2_GITHUB_EVALED_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_NON_EVAL_HIGH_PRI_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LOW_PRI_LANGUAGES_AND_CONFIGS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LONG_TAIL_AND_STRUCTURED_DATA_COMPLIANT"
	//   "GEMINI_V2_GITHUB_PYTHON_NOTEBOOKS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_DIFFS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_TECHDOCS_COMPLIANT"
	//   "GEMINI_V2_HIGH_QUALITY_CODE_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_SCIENCE_PDF_68M_HQ_DOCS_DEDUP_COMPLIANT_CLEAN_TEX"
	//   "GEMINI_V2_ARXIV_2023_COMPLIANT"
	//   "GEMINI_V2_FORMAL_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKEXCHANGE_COMPLIANT"
	//   "GEMINI_V2_PUBMED_COMPLIANT"
	//   "GEMINI_V2_WEB_MATH_V3_COMPLIANT"
	//   "GEMINI_V2_SCIENCEWEB_V0_GCC_PII"
	//   "GEMINI_V2_WEB_POLYMATH_V1_COMPLIANT"
	//   "GEMINI_V2_MATH_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_BIOLOGY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_PHYSICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHEMISTRY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MACHINE_LEARNING_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_QA_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_ECONOMICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MEDICAL_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHESS_COMPLIANT"
	//   "GEMINI_V2_YOUTUBE_SCIENCE_V4_FILTERED_COMPLIANT"
	//   "GEMINI_V2_GOALDMINE_XL_GENERATED_PLUS_GT_NO_DM_MATH_COMPLIANT"
	//   "GEMINI_V2_FIRSTTIMES_SCIENCE_PDF_DEDUP_HQ_LENGTH_FILTERED_COMPLIANT"
	//   "GEMINI_V2_PODCASTS_COMPLIANT"
	//   "GEMINI_V2_EN_NONSCIENCE_PDF_DEDUP_46M_DOCS_COMPLIANT"
	//
	// "GEMINI_V2_NONPUB_COPYRIGHT_BOOKS_V3_70_CONF_082323_LONG_DEDUP_ENONLY_COMPLIA
	// NT"
	//   "GEMINI_V2_STEM_COPYRIGHT_BOOKS_V3_111823_LONG_DEDUP_ENONLY_COMPLIANT"
	//   "GEMINI_V2_STEM_BOOKS_318K_TEXT_COMPLIANT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED_SOFT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_T2I_TEXT_TO_IMAGE_COMPLIAN
	// T_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_IMAGE_TO_TEXT_COMPLIANT_PII_FI
	// LTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_IMAGE_TO_TEXT_COMPLIANT_PI
	// I_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_I18N_680M_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_FIL
	// TERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_FULL_HTML_75M_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_V1_1_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_DOC_240M_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_VIDEO_VIDEO_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M4W_INTERLEAVED_COMPLIANT_PII_FILTERED_SOFT
	// "
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CULTURE_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_DETECTION_IMAGE_TO_TEXT_COMPLIANT_PII
	// _FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_ALT_TEXT_NONEN_500M_IMAGE_TO_TEXT_COM
	// PLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SPATIAL_AWARE_PALI_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_3D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_EN_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_NON_EN_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_3D_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CC3M_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_INFOGRAPHICS_LARGE_WEB_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_BIORXIV_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION_IMAGE
	// _TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PLOT2TABLE_V2_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TIKZ_DERENDERING_MERGED_IMAGE_TO_TEXT_COMPL
	// IANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_2D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WIKIPEDIA_EQUATIONS_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_EQ2LATEX_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_ARXIV_EQUATIONS_V2_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_HEAD_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_CLM_TRANSLATE_DATAV3_WEB_UNWMT_INCR_MIX"
	//   "GEMINI_V2_NTL_NTLV4A_MONOLINGUAL_DEDUP_N5"
	//   "GEMINI_V2_NTL_STT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_TRANSLIT_BILEX_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_BT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_FT_FIXED_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_CANARIES_SHUFFLED_COMPLIANT"
	//   "CLOUD_GEMIT_CLOUD_FACTUALITY_GROUNDING_MAGI" - Cloud gemit pro FT
	// datasets.
	//   "CLOUD_GEMIT_MT_DIALGUE_LMSYS"
	//   "CLOUD_GEMIT_MTS_DIALOGUE_V3"
	//   "CLOUD_GEMIT_COMMIT_MSG_GEN_V3"
	//   "CLOUD_GEMIT_CODE_IF_V1"
	//   "CLOUD_GEMIT_CODE_SELF_REPAIR"
	//   "CLOUD_GEMIT_IDENTITY"
	//   "CLOUD_GEMIT_SEARCH_AUGMENTED_RESPONSE_GENERATION" - Cloud gemit ultra FT
	// datasets.
	//   "CLOUD_GEMIT_AMPS"
	//   "CLOUD_GEMIT_AQUA"
	//   "CLOUD_GEMIT_COMMON_SENSE_REASONING_SCHEMA"
	//   "CLOUD_GEMIT_GSM8K_SCHEMA"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_UN" - Gemini V1 tail patch translation.
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_EUROPARL"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_NEWSCOMMENTARY"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_2021_INCR"
	//   "GEMINI_V1_TAIL_PATCH_GOALDMINE" - Gemini V1 tail patch others.
	//   "GEMINI_V1_TAIL_PATCH_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION"
	//   "GEMINI_V1_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN" - Gemini V1 and V2 shared
	// tail patch.
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V1_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V2_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch.
	//   "GEMINI_V2_TAIL_PATCH_VOXPOPULI"
	//   "GEMINI_V2_TAIL_PATCH_FLEURS"
	//   "GEMINI_V2_SSFS" - Gemini V2 rev10
	//   "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR"
	//   "GEMINI_V2_SQL_REPAIR_SFT"
	//   "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION"
	//   "YT_CONTENT_INSPIRATION" - Youtube Content Inpsiration.
	Dataset           string `json:"dataset,omitempty"`
	Filepath          string `json:"filepath,omitempty"`
	GeminiId          string `json:"geminiId,omitempty"`
	GnewsArticleTitle string `json:"gnewsArticleTitle,omitempty"`
	GoodallExampleId  string `json:"goodallExampleId,omitempty"`
	// IsOptOut: Whether the document is opted out.
	IsOptOut            bool   `json:"isOptOut,omitempty"`
	IsPrompt            bool   `json:"isPrompt,omitempty"`
	LamdaExampleId      string `json:"lamdaExampleId,omitempty"`
	License             string `json:"license,omitempty"`
	MeenaConversationId string `json:"meenaConversationId,omitempty"`
	// NaturalLanguageCode: Natural (not programming) language of the document.
	// Language code as defined by http://www.unicode.org/reports/tr35/#Identifiers
	// and https://tools.ietf.org/html/bcp47. Currently applicable to full-view
	// books. Use docinfo-util.h to set & read language fields. See go/iii.
	NaturalLanguageCode string `json:"naturalLanguageCode,omitempty"`
	// NoAttribution: True if this doc has no attribution information available. We
	// use an explicit field for this instead of just implicitly leaving all the
	// DocAttribution fields blank to distinguish a case where a bug/oversight has
	// left the attribution information empty vs when we really have no attribution
	// information available.
	NoAttribution      bool            `json:"noAttribution,omitempty"`
	PodcastUtteranceId string          `json:"podcastUtteranceId,omitempty"`
	PublicationDate    *GoogleTypeDate `json:"publicationDate,omitempty"`
	// QualityScoreExperimentOnly: This field is for opt-out experiment only, MUST
	// never be used during actual production/serving.
	QualityScoreExperimentOnly float64 `json:"qualityScoreExperimentOnly,omitempty"`
	// Repo: Github repository
	Repo string `json:"repo,omitempty"`
	// Url: URL of a webdoc
	Url      string `json:"url,omitempty"`
	VolumeId string `json:"volumeId,omitempty"`
	// WikipediaArticleTitle: Wikipedia article title. The Wikipedia TFDS dataset
	// includes article titles but not URLs. While a URL is to the best of our
	// knowledge a deterministic function of the title, we store the original title
	// to reflect the information in the original dataset.
	WikipediaArticleTitle string `json:"wikipediaArticleTitle,omitempty"`
	// YoutubeVideoId: The unique video id from Youtube. Example: AkoGsW52Ir0
	YoutubeVideoId string `json:"youtubeVideoId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AmarnaId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AmarnaId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

// LanguageLabsAidaTrustRecitationProtoRecitationResult: The recitation result
// for one input
type LanguageLabsAidaTrustRecitationProtoRecitationResult struct {
	DynamicSegmentResults []*LanguageLabsAidaTrustRecitationProtoSegmentResult `json:"dynamicSegmentResults,omitempty"`
	// RecitationAction: The recitation action for one given input. When its
	// segments contain different actions, the overall action will be returned in
	// the precedence of BLOCK > CITE > NO_ACTION. When the given input is not
	// found in any source, the recitation action will not be specified.
	//
	// Possible values:
	//   "ACTION_UNSPECIFIED"
	//   "CITE" - indicate that attribution must be shown for a Segment
	//   "BLOCK" - indicate that a Segment should be blocked from being used
	//   "NO_ACTION" - for tagging high-frequency code snippets
	//   "EXEMPT_FOUND_IN_PROMPT" - The recitation was found in prompt and is
	// exempted from overall results
	RecitationAction       string                                               `json:"recitationAction,omitempty"`
	TrainingSegmentResults []*LanguageLabsAidaTrustRecitationProtoSegmentResult `json:"trainingSegmentResults,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DynamicSegmentResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DynamicSegmentResults") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LanguageLabsAidaTrustRecitationProtoSegmentResult: The recitation result for
// each segment in a given input.
type LanguageLabsAidaTrustRecitationProtoSegmentResult struct {
	// AttributionDataset: The dataset the segment came from. Datasets change often
	// as model evolves. Treat this field as informational only and avoid depending
	// on it directly.
	//
	// Possible values:
	//   "DATASET_UNSPECIFIED"
	//   "WIKIPEDIA" - Wikipedia article Tensorflow datasets used by Tarzan and
	// maintained by TFDS team.
	//   "WEBDOCS" - Webdocs that have been filtered from the docjoins by the
	// Tarzan team for use in the Tarzan training set.
	//   "WEBDOCS_FINETUNE"
	//   "GITHUB_MIRROR"
	//   "BOOKS_FULL_VIEW" - 'Full view' books dataset maintained by Oceanographers
	// team, meaning 'ok to view the book in full in all localities'. Largely the
	// same as 'public domain', but with potentially subtle distinction.
	//   "BOOKS_PRIVATE" - Filtered private books used by ULM:
	// http://google3/learning/multipod/pax/lm/params/ulm/tasks.py;l=123;rcl=494241309.
	// which corresponds with
	// /cns/mf-d/home/multipod-language-data/private_books/books_filtered_en_reshard
	// ed@50000
	//   "GNEWS" - Google news dataset referenced in:
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_tasks.py;l=922;rcl=496534668
	//   "ULM_DOCJOINS" - The docjoins data for ULM
	// /cns/yo-d/home/multipod-language-data/docjoins/rs=6.3/20220728/100B_docstruct
	// ure_split/examples_en.tfrecord_lattice_05_score_01_HFV13@3929
	//   "ULM_DOCJOINS_DEDUPED"
	//   "MEENA_FC" - Meena full conversations.
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_mixtures.py;l=675;rcl=496583228
	//   "PODCAST"
	//   "AQUA"
	//   "WEB_ASR"
	//   "BARD_GOLDEN"
	//   "COMMON_SENSE_REASONING"
	//   "MATH"
	//   "MATH_REASONING"
	//   "CLEAN_ARXIV"
	//   "LAMDA_FACTUALITY_E2E_QUERY_GENERATION"
	//   "LAMDA_FACTUALITY_E2E_RESPONSE_GENERATION"
	//   "MASSIVE_FORUM_THREAD_SCORED_BARD"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_200"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_500"
	//   "DOCUMENT_CHUNKS"
	//   "MEENA_RESEARCH_PHASE_GOLDEN_MARKDOWN"
	//   "MEENA_RESEARCH_PHASE_GOOGLERS"
	//   "MEENA_RESPONSE_SAFETY_HUMAN_GEN"
	//   "MEENA_RESPONSE_SAFETY_SCHEMA_NO_BROADCAST"
	//   "MEENA_RESPONSE_SAFETY_V3_HUMAN_GEN2"
	//   "MEENA_RESPONSE_SAFETY_V3_SCHEMA_NO_BROADCAST"
	//   "LAMDA_FACTUALITY_TRIGGER"
	//   "LAMDA_SAFETY_V2_SCHEMA_NO_BROADCAST"
	//   "LAMDA_SSI_DISCRIMINATIVE"
	//   "ASSISTANT_PERSONALITY_SAFETY"
	//   "PODCAST_FINETUNE_DIALOG"
	//   "WORLD_QUERY_GENERATOR"
	//   "C4_JOINED_DOCJOINS"
	//   "HOL4_THEORIES"
	//   "HOL_LIGHT_THEORIES"
	//   "HOLSTEPS"
	//   "ISABELLE_STEP"
	//   "ISABELLE_THEORIES"
	//   "LEAN_MATHLIB_THEORIES"
	//   "LEAN_STEP"
	//   "MIZAR_THEORIES"
	//   "COQ_STEP"
	//   "COQ_THEORIES"
	//   "AMPS_KHAN" - Academic dataset of math text.
	// http://google3/learning/brain/research/conversation/meena/seqio/mixtures/experimental/bard.py;rcl=500222380
	//   "AMPS_MATHEMATICA"
	//   "CODEY_CODE"
	//   "CODE_QA_SE"
	//   "CODE_QA_SO"
	//   "CODE_QA_FT_FORMAT"
	//   "CODE_QA_FT_KNOWLEDGE"
	//   "CODE_QA_GITHUB_FILTERED_CODE"
	//   "BARD_PERSONALITY_GOLDEN"
	//   "ULM_DOCJOINS_WITH_URLS_EN"
	//   "ULM_DOCJOINS_WITH_URLS_I18N"
	//   "GOODALL_MTV5_GITHUB" - Datasets managed by the Goodall team:
	// deepmind-goodall@google.com
	//   "GOODALL_MTV5_BOOKS"
	//   "GOODALL_MTV5_C4"
	//   "GOODALL_MTV5_WIKIPEDIA"
	//   "GOODALL_MW_TOP_100B"
	//   "GOODALL_MW_STACK_EXCHANGE"
	//   "GOODALL_MW_TOP_0_10B"
	//   "GOODALL_MW_TOP_10B_20B"
	//   "CODEY_NOTEBOOK_LM_PRETRAINING" - Datasets used by Codepoet
	//   "VERTEX_SAFE_FLAN" - Datasets used by Vertex
	//   "GITHUB_MIRROR_V1_0_1"
	//   "GITHUB_MIRROR_V2_1_0"
	//   "CMS_WIKIPEDIA_LANG_FILTERED" - Datasets used by Gemini Public data
	//   "CMS_STACKOVERFLOW_MULTILINGUAL"
	//   "CMS_STACKEXCHANGE"
	//   "PUBMED"
	//   "GEMINI_DOCJOINS_EN_TOP10B_GCC" - Public webdocs
	//   "GEMINI_DOCJOINS_EN_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP20B_TOP100B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP20B_TOP100B_GCC"
	//   "SIMPLIFIED_HTML_V1_GCC"
	//   "GEMINI_DOCJOINS_TOXICITY_TAGGED_GCC"
	//   "CMS_GITHUB_V4" - Github
	//   "GITHUB_HTML_V4"
	//   "GITHUB_OTHER_V4"
	//   "GITHUB_LONG_TAIL_V4"
	//   "CMS_GITHUB_MULTIFILE_V4"
	//   "GITHUB_DIFFS_WITH_COMMIT_MESSAGE"
	//   "ULM_ARXIV" - Arxiv
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_ENONLY" - Others
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_NONENONLY"
	//   "QUORA"
	//   "PODCASTS_ROBOTSTXT"
	//   "COMBINED_REDDIT"
	//   "CANARIES_SHUFFLED"
	//   "CLM_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "TECHDOCS_DATA_SOURCE"
	//   "SCIENCE_PDF_70M_DOCS_FILTERED"
	//   "GEMINI_V1_CMS_WIKIPEDIA_LANG_FILTERED" - Gemini V1, order by precedence.
	// Wikipedia
	//   "GEMINI_V1_WIKIPEDIA_DIFFS"
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_GCC_NODEDUP_050523" - Public webdocs
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_TOP20B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP20B_TOP100B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_TOP20B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP20B_TOP100B_GCC_050523"
	//   "GEMINI_V1_SIMPLIFIED_HTML_V2_GCC"
	//   "GEMINI_V1_CMS_STACKOVERFLOW_MULTILINGUAL_V2"
	//   "GEMINI_V1_CMS_STACKEXCHANGE_DECONT"
	//   "GEMINI_V1_QUORA"
	//   "GEMINI_V1_COMBINED_REDDIT"
	//   "GEMINI_V1_DOCJOIN_100B_EN_TOXICITY_TAGGED_GCC_FIXED_TAGS"
	//   "GEMINI_V1_PUBMED"
	//   "GEMINI_V1_WEB_MATH_V2"
	//   "GEMINI_V1_CMS_GITHUB_V7" - Github dataset with license info. We prefer
	// this to help cite proper licenses for code recitation.
	//   "GEMINI_V1_CMS_GITHUB_DECONTAMINATED_V_7"
	//   "GEMINI_V1_GITHUB_DIFF_WITH_COMMIT_MESSAGE_V2"
	//   "GEMINI_V1_GITHUB_HTML_CSS_XML_V4"
	//   "GEMINI_V1_GITHUB_OTHER_V4"
	//   "GEMINI_V1_GITHUB_LONG_TAIL_V4"
	//   "GEMINI_V1_GITHUB_JUPTYER_NOTEBOOKS_SSTABLE"
	//   "GEMINI_V1_ULM_ARXIV_SSTABLE" - ArXiv
	//   "GEMINI_V1_PODCASTS_ROBOTSTXT" - Citable misc
	//   "GEMINI_V1_SCIENCE_PDF_68M_HQ_DOCS_GCC"
	//   "GEMINI_V1_GITHUB_TECHDOCS_V2"
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_EN" - Non-public
	// books
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_NONEN"
	//   "GEMINI_V1_STEM_BOOKS_650K_TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_M3W_V2_FILTERED" - Other
	//
	// "GEMINI_V1_VQCOCA_1B_MULTIRES_WEBLI_EN_V4_350M_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_SCREENAI_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CULTURE_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_EN_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_I18N_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_NON_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_VTP_4F_VIDEO2TEXT_PREFIX"
	//   "GEMINI_V1_FORMAL_MATH_WITHOUT_HOLSTEPS_AND_MIZAR"
	//   "GEMINI_V1_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "GEMINI_V1_CANARIES_SHUFFLED_DOCJOIN_EN_NONEN_CODE_ARXIV_TRANSLATE"
	//   "DUET_CLOUD_SECURITY_DOCS" - Duet AI finetune datasets, order by
	// precedence.
	//   "DUET_GITHUB_CODE_SNIPPETS"
	//   "DUET_GITHUB_FILES"
	//   "DUET_GOBYEXAMPLE"
	//   "DUET_GOLANG_DOCS"
	//   "DUET_CLOUD_DOCS_TROUBLESHOOTING_TABLES"
	//   "DUET_DEVSITE_DOCS"
	//   "DUET_CLOUD_BLOG_POSTS"
	//   "DUET_CLOUD_PODCAST_EPISODES"
	//   "DUET_YOUTUBE_VIDEOS"
	//   "DUET_CLOUD_SKILLS_BOOST"
	//   "DUET_CLOUD_DOCS"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_GENERATED"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_HANDWRITTEN"
	//   "DUET_GOOGLESQL_GENERATION"
	//   "DUET_CLOUD_IX_PROMPTS"
	//   "DUET_RAD"
	//   "DUET_STACKOVERFLOW_ISSUES"
	//   "DUET_STACKOVERFLOW_ANSWERS"
	//   "BARD_ARCADE_GITHUB" - Bard ARCADE finetune dataset.
	//   "MOBILE_ASSISTANT_MAGI_FILTERED_0825_373K" - Mobile assistant finetune
	// datasets.
	//   "MOBILE_ASSISTANT_PALM24B_FILTERED_400K"
	//   "GENESIS_NEWS_INSIGHTS" - Genesis fine-tune datasets.
	//   "CLOUD_SECURITY_PRETRAINING" - Cloud Security fine-tune datasets.
	//   "CLOUD_SECURITY_FINETUNING"
	//   "CLOUD_SECURITY_RAG_CISA"
	//   "LABS_AQA_DSCOUT" - LABS AQA fine-tune datasets.
	//   "LABS_AQA_TAILWIND"
	//   "LABS_AQA_DELEWARE"
	//   "GEMINI_MULTIMODAL_FT_URL" - Gemini multimodal instruction tune(IT) and
	// fine tune(FT) datasets datasets.
	//   "GEMINI_MULTIMODAL_FT_YT"
	//   "GEMINI_MULTIMODAL_FT_SHUTTERSTOCK"
	//   "GEMINI_MULTIMODAL_FT_NONE"
	//   "GEMINI_MULTIMODAL_FT_OTHER"
	//   "GEMINI_MULTIMODAL_FT_INK"
	//   "GEMINI_MULTIMODAL_IT"
	//   "GEMINI_IT_SHUTTERSTOCK" - Gemini IT 1.2.7 datasets
	//   "GEMINI_IT_M3W"
	//   "GEMINI_IT_HEDGING"
	//   "GEMINI_IT_DSCOUT_FACTUALITY"
	//   "GEMINI_IT_AQUAMUSE"
	//   "GEMINI_IT_SHOTGUN"
	//   "GEMINI_IT_ACI_BENCH"
	//   "GEMINI_IT_SPIDER_FILTERED"
	//   "GEMINI_IT_TAB_SUM_BQ"
	//   "GEMINI_IT_QA_WITH_URL"
	//   "GEMINI_IT_CODE_INSTRUCT"
	//   "GEMINI_IT_MED_PALM"
	//   "GEMINI_IT_TASK_ORIENTED_DIALOG"
	//   "GEMINI_IT_NIMBUS_GROUNDING_TO_PROMPT"
	//   "GEMINI_IT_EITL_GEN"
	//   "GEMINI_IT_HITL_GEN"
	//   "GEMINI_IT_MECH"
	//   "GEMINI_IT_TABLE_GEN"
	//   "GEMINI_IT_NIMBUS_DECIBEL"
	//   "GEMINI_IT_CLOUD_CODE_IF"
	//   "GEMINI_IT_CLOUD_EUR_LEX_JSON"
	//   "GEMINI_IT_CLOUD_OASST"
	//   "GEMINI_IT_CLOUD_SELF_INSTRUCT"
	//   "GEMINI_IT_CLOUD_UCS_AQUAMUSE"
	//   "GEMIT_BRIDGE_SUFFIX_FT" - Gemit Bridge ULM FT dataset
	//   "GEMINI_GOOSE_PUBLIC" - Gemini Goose FT datasets.
	//   "GEMINI_GOOSE_SILOED"
	//   "GEMINI_V2_CMS_WIKIPEDIA_LANG_FILTERED_GCC_PII" - Gemini V2 datasets
	//   "GEMINI_V2_WIKIPEDIA_DIFFS_COMPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP10B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP10B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP20B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP20B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP100B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP100B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_NONARTICLES
	// _COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_ARTICLES_CO
	// MPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_QUORA_COMPLIANT"
	//   "GEMINI_V2_FORUMS_V2_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKOVERFLOW_MULTILINGUAL_V2_COMPLIANT"
	//   "GEMINI_V2_SIMPLIFIED_HTML_V2_CORRECT_FORMAT_COMPLIANT"
	//   "GEMINI_V2_GEMINI_DOCJOINS_TOXICITY_TAGGED_FIXED_TAGS_COMPLIANT"
	//   "GEMINI_V2_CODEWEB_V1_COMPLIANT"
	//   "GEMINI_V2_LEETCODE_GCC_PII"
	//   "GEMINI_V2_CODE_CONTESTS_COMPLIANT"
	//   "GEMINI_V2_CMS_GITHUB_MULTI_FILE_FOR_FIM_GEMBAGZ_FIXED_BYTES_LENGTHS"
	//   "GEMINI_V2_GITHUB_EVALED_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_NON_EVAL_HIGH_PRI_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LOW_PRI_LANGUAGES_AND_CONFIGS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LONG_TAIL_AND_STRUCTURED_DATA_COMPLIANT"
	//   "GEMINI_V2_GITHUB_PYTHON_NOTEBOOKS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_DIFFS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_TECHDOCS_COMPLIANT"
	//   "GEMINI_V2_HIGH_QUALITY_CODE_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_SCIENCE_PDF_68M_HQ_DOCS_DEDUP_COMPLIANT_CLEAN_TEX"
	//   "GEMINI_V2_ARXIV_2023_COMPLIANT"
	//   "GEMINI_V2_FORMAL_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKEXCHANGE_COMPLIANT"
	//   "GEMINI_V2_PUBMED_COMPLIANT"
	//   "GEMINI_V2_WEB_MATH_V3_COMPLIANT"
	//   "GEMINI_V2_SCIENCEWEB_V0_GCC_PII"
	//   "GEMINI_V2_WEB_POLYMATH_V1_COMPLIANT"
	//   "GEMINI_V2_MATH_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_BIOLOGY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_PHYSICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHEMISTRY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MACHINE_LEARNING_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_QA_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_ECONOMICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MEDICAL_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHESS_COMPLIANT"
	//   "GEMINI_V2_YOUTUBE_SCIENCE_V4_FILTERED_COMPLIANT"
	//   "GEMINI_V2_GOALDMINE_XL_GENERATED_PLUS_GT_NO_DM_MATH_COMPLIANT"
	//   "GEMINI_V2_FIRSTTIMES_SCIENCE_PDF_DEDUP_HQ_LENGTH_FILTERED_COMPLIANT"
	//   "GEMINI_V2_PODCASTS_COMPLIANT"
	//   "GEMINI_V2_EN_NONSCIENCE_PDF_DEDUP_46M_DOCS_COMPLIANT"
	//
	// "GEMINI_V2_NONPUB_COPYRIGHT_BOOKS_V3_70_CONF_082323_LONG_DEDUP_ENONLY_COMPLIA
	// NT"
	//   "GEMINI_V2_STEM_COPYRIGHT_BOOKS_V3_111823_LONG_DEDUP_ENONLY_COMPLIANT"
	//   "GEMINI_V2_STEM_BOOKS_318K_TEXT_COMPLIANT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED_SOFT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_T2I_TEXT_TO_IMAGE_COMPLIAN
	// T_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_IMAGE_TO_TEXT_COMPLIANT_PII_FI
	// LTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_IMAGE_TO_TEXT_COMPLIANT_PI
	// I_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_I18N_680M_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_FIL
	// TERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_FULL_HTML_75M_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_V1_1_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_DOC_240M_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_VIDEO_VIDEO_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M4W_INTERLEAVED_COMPLIANT_PII_FILTERED_SOFT
	// "
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CULTURE_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_DETECTION_IMAGE_TO_TEXT_COMPLIANT_PII
	// _FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_ALT_TEXT_NONEN_500M_IMAGE_TO_TEXT_COM
	// PLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SPATIAL_AWARE_PALI_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_3D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_EN_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_NON_EN_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_3D_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CC3M_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_INFOGRAPHICS_LARGE_WEB_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_BIORXIV_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION_IMAGE
	// _TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PLOT2TABLE_V2_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TIKZ_DERENDERING_MERGED_IMAGE_TO_TEXT_COMPL
	// IANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_2D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WIKIPEDIA_EQUATIONS_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_EQ2LATEX_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_ARXIV_EQUATIONS_V2_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_HEAD_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_CLM_TRANSLATE_DATAV3_WEB_UNWMT_INCR_MIX"
	//   "GEMINI_V2_NTL_NTLV4A_MONOLINGUAL_DEDUP_N5"
	//   "GEMINI_V2_NTL_STT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_TRANSLIT_BILEX_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_BT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_FT_FIXED_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_CANARIES_SHUFFLED_COMPLIANT"
	//   "CLOUD_GEMIT_CLOUD_FACTUALITY_GROUNDING_MAGI" - Cloud gemit pro FT
	// datasets.
	//   "CLOUD_GEMIT_MT_DIALGUE_LMSYS"
	//   "CLOUD_GEMIT_MTS_DIALOGUE_V3"
	//   "CLOUD_GEMIT_COMMIT_MSG_GEN_V3"
	//   "CLOUD_GEMIT_CODE_IF_V1"
	//   "CLOUD_GEMIT_CODE_SELF_REPAIR"
	//   "CLOUD_GEMIT_IDENTITY"
	//   "CLOUD_GEMIT_SEARCH_AUGMENTED_RESPONSE_GENERATION" - Cloud gemit ultra FT
	// datasets.
	//   "CLOUD_GEMIT_AMPS"
	//   "CLOUD_GEMIT_AQUA"
	//   "CLOUD_GEMIT_COMMON_SENSE_REASONING_SCHEMA"
	//   "CLOUD_GEMIT_GSM8K_SCHEMA"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_UN" - Gemini V1 tail patch translation.
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_EUROPARL"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_NEWSCOMMENTARY"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_2021_INCR"
	//   "GEMINI_V1_TAIL_PATCH_GOALDMINE" - Gemini V1 tail patch others.
	//   "GEMINI_V1_TAIL_PATCH_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION"
	//   "GEMINI_V1_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN" - Gemini V1 and V2 shared
	// tail patch.
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V1_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V2_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch.
	//   "GEMINI_V2_TAIL_PATCH_VOXPOPULI"
	//   "GEMINI_V2_TAIL_PATCH_FLEURS"
	//   "GEMINI_V2_SSFS" - Gemini V2 rev10
	//   "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR"
	//   "GEMINI_V2_SQL_REPAIR_SFT"
	//   "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION"
	//   "YT_CONTENT_INSPIRATION" - Youtube Content Inpsiration.
	AttributionDataset string `json:"attributionDataset,omitempty"`
	// DisplayAttributionMessage: human-friendly string that contains information
	// from doc_attribution which could be shown by clients
	DisplayAttributionMessage string                                              `json:"displayAttributionMessage,omitempty"`
	DocAttribution            *LanguageLabsAidaTrustRecitationProtoDocAttribution `json:"docAttribution,omitempty"`
	// DocOccurrences: number of documents that contained this segment
	DocOccurrences int64 `json:"docOccurrences,omitempty"`
	EndIndex       int64 `json:"endIndex,omitempty"`
	// RawText: The raw text in the given input that is corresponding to the
	// segment. It will be available only when 'return_segment_raw_text' is enabled
	// in the request options.
	RawText string `json:"rawText,omitempty"`
	// Possible values:
	//   "ACTION_UNSPECIFIED"
	//   "CITE" - indicate that attribution must be shown for a Segment
	//   "BLOCK" - indicate that a Segment should be blocked from being used
	//   "NO_ACTION" - for tagging high-frequency code snippets
	//   "EXEMPT_FOUND_IN_PROMPT" - The recitation was found in prompt and is
	// exempted from overall results
	SegmentRecitationAction string `json:"segmentRecitationAction,omitempty"`
	// SourceCategory: The category of the source dataset where the segment came
	// from. This is more stable than Dataset.
	//
	// Possible values:
	//   "SOURCE_CATEGORY_UNSPECIFIED"
	//   "SOURCE_CATEGORY_WIKIPEDIA"
	//   "SOURCE_CATEGORY_WEBDOCS"
	//   "SOURCE_CATEGORY_GITHUB"
	//   "SOURCE_CATEGORY_ARXIV"
	//   "SOURCE_CATEGORY_PRIVATE_BOOKS"
	//   "SOURCE_CATEGORY_OTHERS"
	//   "SOURCE_CATEGORY_PUBLIC_BOOKS"
	//   "SOURCE_CATEGORY_GNEWS"
	SourceCategory string `json:"sourceCategory,omitempty"`
	// StartIndex: The segment boundary start (inclusive) and end index (exclusive)
	// in the given text. In the streaming RPC, the indexes always start from the
	// beginning of the first text in the entire stream. The indexes are measured
	// in UTF-16 code units.
	StartIndex int64 `json:"startIndex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AttributionDataset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AttributionDataset") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LanguageLabsAidaTrustRecitationProtoStreamRecitationResult: The recitation
// result for one stream input
type LanguageLabsAidaTrustRecitationProtoStreamRecitationResult struct {
	// DynamicSegmentResults: The recitation result against the given dynamic data
	// source.
	DynamicSegmentResults []*LanguageLabsAidaTrustRecitationProtoSegmentResult `json:"dynamicSegmentResults,omitempty"`
	// FullyCheckedTextIndex: Last index of input text fully checked for recitation
	// in the entire streaming context. Would return `-1` if no Input was checked
	// for recitation.
	FullyCheckedTextIndex int64 `json:"fullyCheckedTextIndex,omitempty"`
	// RecitationAction: The recitation action for one given input. When its
	// segments contain different actions, the overall action will be returned in
	// the precedence of BLOCK > CITE > NO_ACTION.
	//
	// Possible values:
	//   "ACTION_UNSPECIFIED"
	//   "CITE" - indicate that attribution must be shown for a Segment
	//   "BLOCK" - indicate that a Segment should be blocked from being used
	//   "NO_ACTION" - for tagging high-frequency code snippets
	//   "EXEMPT_FOUND_IN_PROMPT" - The recitation was found in prompt and is
	// exempted from overall results
	RecitationAction string `json:"recitationAction,omitempty"`
	// TrainingSegmentResults: The recitation result against model training data.
	TrainingSegmentResults []*LanguageLabsAidaTrustRecitationProtoSegmentResult `json:"trainingSegmentResults,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DynamicSegmentResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DynamicSegmentResults") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRecitationDocAttribution: The proto defines the attribution
// information for a document using whatever fields are most applicable for
// that document's datasource. For example, a Wikipedia article's attribution
// is in the form of its article title, a website is in the form of a URL, and
// a Github repo is in the form of a repo name. Next id: 30
type LearningGenaiRecitationDocAttribution struct {
	AmarnaId string `json:"amarnaId,omitempty"`
	ArxivId  string `json:"arxivId,omitempty"`
	Author   string `json:"author,omitempty"`
	Bibkey   string `json:"bibkey,omitempty"`
	// BiorxivId: ID of the paper in bioarxiv like ddoi.org/{biorxiv_id} eg:
	// https://doi.org/10.1101/343517
	BiorxivId string `json:"biorxivId,omitempty"`
	BookTitle string `json:"bookTitle,omitempty"`
	// BookVolumeId: The Oceanographers full-view books dataset uses a 'volume id'
	// as the unique ID of a book. There is a deterministic function from a volume
	// id to a URL under the books.google.com domain. Marked as 'optional' since a
	// volume ID of zero is potentially possible and we want to distinguish that
	// from the volume ID not being set.
	BookVolumeId   int64  `json:"bookVolumeId,omitempty,string"`
	ConversationId string `json:"conversationId,omitempty"`
	// Dataset: The dataset this document comes from.
	//
	// Possible values:
	//   "DATASET_UNSPECIFIED"
	//   "WIKIPEDIA" - Wikipedia article Tensorflow datasets used by Tarzan and
	// maintained by TFDS team.
	//   "WEBDOCS" - Webdocs that have been filtered from the docjoins by the
	// Tarzan team for use in the Tarzan training set.
	//   "WEBDOCS_FINETUNE"
	//   "GITHUB_MIRROR"
	//   "BOOKS_FULL_VIEW" - 'Full view' books dataset maintained by Oceanographers
	// team, meaning 'ok to view the book in full in all localities'. Largely the
	// same as 'public domain', but with potentially subtle distinction.
	//   "BOOKS_PRIVATE" - Filtered private books used by ULM:
	// http://google3/learning/multipod/pax/lm/params/ulm/tasks.py;l=123;rcl=494241309.
	// which corresponds with
	// /cns/mf-d/home/multipod-language-data/private_books/books_filtered_en_reshard
	// ed@50000
	//   "GNEWS" - Google news dataset referenced in:
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_tasks.py;l=922;rcl=496534668
	//   "ULM_DOCJOINS" - The docjoins data for ULM
	// /cns/yo-d/home/multipod-language-data/docjoins/rs=6.3/20220728/100B_docstruct
	// ure_split/examples_en.tfrecord_lattice_05_score_01_HFV13@3929
	//   "ULM_DOCJOINS_DEDUPED"
	//   "MEENA_FC" - Meena full conversations.
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_mixtures.py;l=675;rcl=496583228
	//   "PODCAST"
	//   "AQUA"
	//   "WEB_ASR"
	//   "BARD_GOLDEN"
	//   "COMMON_SENSE_REASONING"
	//   "MATH"
	//   "MATH_REASONING"
	//   "CLEAN_ARXIV"
	//   "LAMDA_FACTUALITY_E2E_QUERY_GENERATION"
	//   "LAMDA_FACTUALITY_E2E_RESPONSE_GENERATION"
	//   "MASSIVE_FORUM_THREAD_SCORED_BARD"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_200"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_500"
	//   "DOCUMENT_CHUNKS"
	//   "MEENA_RESEARCH_PHASE_GOLDEN_MARKDOWN"
	//   "MEENA_RESEARCH_PHASE_GOOGLERS"
	//   "MEENA_RESPONSE_SAFETY_HUMAN_GEN"
	//   "MEENA_RESPONSE_SAFETY_SCHEMA_NO_BROADCAST"
	//   "MEENA_RESPONSE_SAFETY_V3_HUMAN_GEN2"
	//   "MEENA_RESPONSE_SAFETY_V3_SCHEMA_NO_BROADCAST"
	//   "LAMDA_FACTUALITY_TRIGGER"
	//   "LAMDA_SAFETY_V2_SCHEMA_NO_BROADCAST"
	//   "LAMDA_SSI_DISCRIMINATIVE"
	//   "ASSISTANT_PERSONALITY_SAFETY"
	//   "PODCAST_FINETUNE_DIALOG"
	//   "WORLD_QUERY_GENERATOR"
	//   "C4_JOINED_DOCJOINS"
	//   "HOL4_THEORIES"
	//   "HOL_LIGHT_THEORIES"
	//   "HOLSTEPS"
	//   "ISABELLE_STEP"
	//   "ISABELLE_THEORIES"
	//   "LEAN_MATHLIB_THEORIES"
	//   "LEAN_STEP"
	//   "MIZAR_THEORIES"
	//   "COQ_STEP"
	//   "COQ_THEORIES"
	//   "AMPS_KHAN" - Academic dataset of math text.
	// http://google3/learning/brain/research/conversation/meena/seqio/mixtures/experimental/bard.py;rcl=500222380
	//   "AMPS_MATHEMATICA"
	//   "CODEY_CODE"
	//   "CODE_QA_SE"
	//   "CODE_QA_SO"
	//   "CODE_QA_FT_FORMAT"
	//   "CODE_QA_FT_KNOWLEDGE"
	//   "CODE_QA_GITHUB_FILTERED_CODE"
	//   "BARD_PERSONALITY_GOLDEN"
	//   "ULM_DOCJOINS_WITH_URLS_EN"
	//   "ULM_DOCJOINS_WITH_URLS_I18N"
	//   "GOODALL_MTV5_GITHUB" - Datasets managed by the Goodall team:
	// deepmind-goodall@google.com
	//   "GOODALL_MTV5_BOOKS"
	//   "GOODALL_MTV5_C4"
	//   "GOODALL_MTV5_WIKIPEDIA"
	//   "GOODALL_MW_TOP_100B"
	//   "GOODALL_MW_STACK_EXCHANGE"
	//   "GOODALL_MW_TOP_0_10B"
	//   "GOODALL_MW_TOP_10B_20B"
	//   "CODEY_NOTEBOOK_LM_PRETRAINING" - Datasets used by Codepoet
	//   "VERTEX_SAFE_FLAN" - Datasets used by Vertex
	//   "GITHUB_MIRROR_V1_0_1"
	//   "GITHUB_MIRROR_V2_1_0"
	//   "CMS_WIKIPEDIA_LANG_FILTERED" - Datasets used by Gemini Public data
	//   "CMS_STACKOVERFLOW_MULTILINGUAL"
	//   "CMS_STACKEXCHANGE"
	//   "PUBMED"
	//   "GEMINI_DOCJOINS_EN_TOP10B_GCC" - Public webdocs
	//   "GEMINI_DOCJOINS_EN_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP20B_TOP100B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP20B_TOP100B_GCC"
	//   "SIMPLIFIED_HTML_V1_GCC"
	//   "GEMINI_DOCJOINS_TOXICITY_TAGGED_GCC"
	//   "CMS_GITHUB_V4" - Github
	//   "GITHUB_HTML_V4"
	//   "GITHUB_OTHER_V4"
	//   "GITHUB_LONG_TAIL_V4"
	//   "CMS_GITHUB_MULTIFILE_V4"
	//   "GITHUB_DIFFS_WITH_COMMIT_MESSAGE"
	//   "ULM_ARXIV" - Arxiv
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_ENONLY" - Others
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_NONENONLY"
	//   "QUORA"
	//   "PODCASTS_ROBOTSTXT"
	//   "COMBINED_REDDIT"
	//   "CANARIES_SHUFFLED"
	//   "CLM_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "TECHDOCS_DATA_SOURCE"
	//   "SCIENCE_PDF_70M_DOCS_FILTERED"
	//   "GEMINI_V1_CMS_WIKIPEDIA_LANG_FILTERED" - Gemini V1, order by precedence.
	// Wikipedia
	//   "GEMINI_V1_WIKIPEDIA_DIFFS"
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_GCC_NODEDUP_050523" - Public webdocs
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_TOP20B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP20B_TOP100B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_TOP20B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP20B_TOP100B_GCC_050523"
	//   "GEMINI_V1_SIMPLIFIED_HTML_V2_GCC"
	//   "GEMINI_V1_CMS_STACKOVERFLOW_MULTILINGUAL_V2"
	//   "GEMINI_V1_CMS_STACKEXCHANGE_DECONT"
	//   "GEMINI_V1_QUORA"
	//   "GEMINI_V1_COMBINED_REDDIT"
	//   "GEMINI_V1_DOCJOIN_100B_EN_TOXICITY_TAGGED_GCC_FIXED_TAGS"
	//   "GEMINI_V1_PUBMED"
	//   "GEMINI_V1_WEB_MATH_V2"
	//   "GEMINI_V1_CMS_GITHUB_V7" - GitHub dataset with license info. We prefer
	// this to help cite proper licenses for code recitation.
	//   "GEMINI_V1_CMS_GITHUB_DECONTAMINATED_V_7"
	//   "GEMINI_V1_GITHUB_DIFF_WITH_COMMIT_MESSAGE_V2"
	//   "GEMINI_V1_GITHUB_HTML_CSS_XML_V4"
	//   "GEMINI_V1_GITHUB_OTHER_V4"
	//   "GEMINI_V1_GITHUB_LONG_TAIL_V4"
	//   "GEMINI_V1_GITHUB_JUPTYER_NOTEBOOKS_SSTABLE"
	//   "GEMINI_V1_ULM_ARXIV_SSTABLE" - ArXiv
	//   "GEMINI_V1_PODCASTS_ROBOTSTXT" - Citable misc
	//   "GEMINI_V1_SCIENCE_PDF_68M_HQ_DOCS_GCC"
	//   "GEMINI_V1_GITHUB_TECHDOCS_V2"
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_EN" - Non-public
	// books
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_NONEN"
	//   "GEMINI_V1_STEM_BOOKS_650K_TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_M3W_V2_FILTERED" - Other
	//
	// "GEMINI_V1_VQCOCA_1B_MULTIRES_WEBLI_EN_V4_350M_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_SCREENAI_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CULTURE_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_EN_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_I18N_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_NON_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_VTP_4F_VIDEO2TEXT_PREFIX"
	//   "GEMINI_V1_FORMAL_MATH_WITHOUT_HOLSTEPS_AND_MIZAR"
	//   "GEMINI_V1_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "GEMINI_V1_CANARIES_SHUFFLED_DOCJOIN_EN_NONEN_CODE_ARXIV_TRANSLATE"
	//   "DUET_CLOUD_SECURITY_DOCS" - Duet AI finetune datasets, order by
	// precedence.
	//   "DUET_GITHUB_CODE_SNIPPETS"
	//   "DUET_GITHUB_FILES"
	//   "DUET_GOBYEXAMPLE"
	//   "DUET_GOLANG_DOCS"
	//   "DUET_CLOUD_DOCS_TROUBLESHOOTING_TABLES"
	//   "DUET_DEVSITE_DOCS"
	//   "DUET_CLOUD_BLOG_POSTS"
	//   "DUET_CLOUD_PODCAST_EPISODES"
	//   "DUET_YOUTUBE_VIDEOS"
	//   "DUET_CLOUD_SKILLS_BOOST"
	//   "DUET_CLOUD_DOCS"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_GENERATED"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_HANDWRITTEN"
	//   "DUET_GOOGLESQL_GENERATION"
	//   "DUET_CLOUD_IX_PROMPTS"
	//   "DUET_RAD"
	//   "DUET_STACKOVERFLOW_ISSUES"
	//   "DUET_STACKOVERFLOW_ANSWERS"
	//   "BARD_ARCADE_GITHUB" - Bard ARCADE finetune dataset
	//   "MOBILE_ASSISTANT_MAGI_FILTERED_0825_373K" - Mobile assistant finetune
	// datasets.
	//   "MOBILE_ASSISTANT_PALM24B_FILTERED_400K"
	//   "GENESIS_NEWS_INSIGHTS" - Genesis fine tuned datasets.
	//   "LABS_AQA_DSCOUT" - LABS AQA fine-tune datasets.
	//   "LABS_AQA_TAILWIND"
	//   "LABS_AQA_DELEWARE"
	//   "GEMINI_MULTIMODAL_FT_URL" - Gemini multimodal instruction tune(IT) and
	// fine tune(FT) datasets datasets.
	//   "GEMINI_MULTIMODAL_FT_YT"
	//   "GEMINI_MULTIMODAL_FT_SHUTTERSTOCK"
	//   "GEMINI_MULTIMODAL_FT_NONE"
	//   "GEMINI_MULTIMODAL_FT_OTHER"
	//   "GEMINI_MULTIMODAL_FT_INK"
	//   "GEMINI_MULTIMODAL_IT"
	//   "GEMINI_IT_SHUTTERSTOCK" - Gemini IT 1.2.7 datasets
	//   "GEMINI_IT_M3W"
	//   "GEMINI_IT_HEDGING"
	//   "GEMINI_IT_DSCOUT_FACTUALITY"
	//   "GEMINI_IT_AQUAMUSE"
	//   "GEMINI_IT_SHOTGUN"
	//   "GEMINI_IT_ACI_BENCH"
	//   "GEMINI_IT_SPIDER_FILTERED"
	//   "GEMINI_IT_TAB_SUM_BQ"
	//   "GEMINI_IT_QA_WITH_URL"
	//   "GEMINI_IT_CODE_INSTRUCT"
	//   "GEMINI_IT_MED_PALM"
	//   "GEMINI_IT_TASK_ORIENTED_DIALOG"
	//   "GEMINI_IT_NIMBUS_GROUNDING_TO_PROMPT"
	//   "GEMINI_IT_EITL_GEN"
	//   "GEMINI_IT_HITL_GEN"
	//   "GEMINI_IT_MECH"
	//   "GEMINI_IT_TABLE_GEN"
	//   "GEMINI_IT_NIMBUS_DECIBEL"
	//   "GEMINI_IT_CLOUD_CODE_IF"
	//   "GEMINI_IT_CLOUD_EUR_LEX_JSON"
	//   "GEMINI_IT_CLOUD_OASST"
	//   "GEMINI_IT_CLOUD_SELF_INSTRUCT"
	//   "GEMINI_IT_CLOUD_UCS_AQUAMUSE"
	//   "GEMIT_BRIDGE_SUFFIX_FT" - Gemit Bridge ULM FT dataset
	//   "CLOUD_SECURITY_PRETRAINING" - Cloud Security fine tuned datasets.
	//   "CLOUD_SECURITY_FINETUNING"
	//   "CLOUD_SECURITY_RAG_CISA"
	//   "GEMINI_GOOSE_PUBLIC" - Gemini Goose FT datasets.
	//   "GEMINI_GOOSE_SILOED"
	//   "GEMINI_V2_CMS_WIKIPEDIA_LANG_FILTERED_GCC_PII" - Gemini V2 datasets
	//   "GEMINI_V2_WIKIPEDIA_DIFFS_COMPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP10B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP10B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP20B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP20B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP100B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP100B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_NONARTICLES
	// _COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_ARTICLES_CO
	// MPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_QUORA_COMPLIANT"
	//   "GEMINI_V2_FORUMS_V2_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKOVERFLOW_MULTILINGUAL_V2_COMPLIANT"
	//   "GEMINI_V2_SIMPLIFIED_HTML_V2_CORRECT_FORMAT_COMPLIANT"
	//   "GEMINI_V2_GEMINI_DOCJOINS_TOXICITY_TAGGED_FIXED_TAGS_COMPLIANT"
	//   "GEMINI_V2_CODEWEB_V1_COMPLIANT"
	//   "GEMINI_V2_LEETCODE_GCC_PII"
	//   "GEMINI_V2_CODE_CONTESTS_COMPLIANT"
	//   "GEMINI_V2_CMS_GITHUB_MULTI_FILE_FOR_FIM_GEMBAGZ_FIXED_BYTES_LENGTHS"
	//   "GEMINI_V2_GITHUB_EVALED_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_NON_EVAL_HIGH_PRI_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LOW_PRI_LANGUAGES_AND_CONFIGS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LONG_TAIL_AND_STRUCTURED_DATA_COMPLIANT"
	//   "GEMINI_V2_GITHUB_PYTHON_NOTEBOOKS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_DIFFS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_TECHDOCS_COMPLIANT"
	//   "GEMINI_V2_HIGH_QUALITY_CODE_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_SCIENCE_PDF_68M_HQ_DOCS_DEDUP_COMPLIANT_CLEAN_TEX"
	//   "GEMINI_V2_ARXIV_2023_COMPLIANT"
	//   "GEMINI_V2_FORMAL_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKEXCHANGE_COMPLIANT"
	//   "GEMINI_V2_PUBMED_COMPLIANT"
	//   "GEMINI_V2_WEB_MATH_V3_COMPLIANT"
	//   "GEMINI_V2_SCIENCEWEB_V0_GCC_PII"
	//   "GEMINI_V2_WEB_POLYMATH_V1_COMPLIANT"
	//   "GEMINI_V2_MATH_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_BIOLOGY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_PHYSICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHEMISTRY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MACHINE_LEARNING_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_QA_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_ECONOMICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MEDICAL_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHESS_COMPLIANT"
	//   "GEMINI_V2_YOUTUBE_SCIENCE_V4_FILTERED_COMPLIANT"
	//   "GEMINI_V2_GOALDMINE_XL_GENERATED_PLUS_GT_NO_DM_MATH_COMPLIANT"
	//   "GEMINI_V2_FIRSTTIMES_SCIENCE_PDF_DEDUP_HQ_LENGTH_FILTERED_COMPLIANT"
	//   "GEMINI_V2_PODCASTS_COMPLIANT"
	//   "GEMINI_V2_EN_NONSCIENCE_PDF_DEDUP_46M_DOCS_COMPLIANT"
	//
	// "GEMINI_V2_NONPUB_COPYRIGHT_BOOKS_V3_70_CONF_082323_LONG_DEDUP_ENONLY_COMPLIA
	// NT"
	//   "GEMINI_V2_STEM_COPYRIGHT_BOOKS_V3_111823_LONG_DEDUP_ENONLY_COMPLIANT"
	//   "GEMINI_V2_STEM_BOOKS_318K_TEXT_COMPLIANT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED_SOFT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_T2I_TEXT_TO_IMAGE_COMPLIAN
	// T_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_IMAGE_TO_TEXT_COMPLIANT_PII_FI
	// LTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_IMAGE_TO_TEXT_COMPLIANT_PI
	// I_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_I18N_680M_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_FIL
	// TERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_FULL_HTML_75M_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_V1_1_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_DOC_240M_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_VIDEO_VIDEO_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M4W_INTERLEAVED_COMPLIANT_PII_FILTERED_SOFT
	// "
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CULTURE_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_DETECTION_IMAGE_TO_TEXT_COMPLIANT_PII
	// _FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_ALT_TEXT_NONEN_500M_IMAGE_TO_TEXT_COM
	// PLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SPATIAL_AWARE_PALI_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_3D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_EN_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_NON_EN_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_3D_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CC3M_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_INFOGRAPHICS_LARGE_WEB_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_BIORXIV_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION_IMAGE
	// _TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PLOT2TABLE_V2_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TIKZ_DERENDERING_MERGED_IMAGE_TO_TEXT_COMPL
	// IANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_2D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WIKIPEDIA_EQUATIONS_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_EQ2LATEX_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_ARXIV_EQUATIONS_V2_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_HEAD_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_CLM_TRANSLATE_DATAV3_WEB_UNWMT_INCR_MIX"
	//   "GEMINI_V2_NTL_NTLV4A_MONOLINGUAL_DEDUP_N5"
	//   "GEMINI_V2_NTL_STT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_TRANSLIT_BILEX_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_BT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_FT_FIXED_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_CANARIES_SHUFFLED_COMPLIANT"
	//   "CLOUD_GEMIT_CLOUD_FACTUALITY_GROUNDING_MAGI" - Cloud gemit pro FT
	// datasets.
	//   "CLOUD_GEMIT_MT_DIALGUE_LMSYS"
	//   "CLOUD_GEMIT_MTS_DIALOGUE_V3"
	//   "CLOUD_GEMIT_COMMIT_MSG_GEN_V3"
	//   "CLOUD_GEMIT_CODE_IF_V1"
	//   "CLOUD_GEMIT_CODE_SELF_REPAIR"
	//   "CLOUD_GEMIT_IDENTITY"
	//   "CLOUD_GEMIT_SEARCH_AUGMENTED_RESPONSE_GENERATION" - Cloud gemit ultra FT
	// datasets.
	//   "CLOUD_GEMIT_AMPS"
	//   "CLOUD_GEMIT_AQUA"
	//   "CLOUD_GEMIT_COMMON_SENSE_REASONING_SCHEMA"
	//   "CLOUD_GEMIT_GSM8K_SCHEMA"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_UN" - Gemini V1 tail patch translation.
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_EUROPARL"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_NEWSCOMMENTARY"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_2021_INCR"
	//   "GEMINI_V1_TAIL_PATCH_GOALDMINE" - Gemini V1 tail patch others.
	//   "GEMINI_V1_TAIL_PATCH_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION"
	//   "GEMINI_V1_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN" - Gemini V1 and V2 shared
	// tail patch.
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V1_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V2_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch.
	//   "GEMINI_V2_TAIL_PATCH_VOXPOPULI"
	//   "GEMINI_V2_TAIL_PATCH_FLEURS"
	//   "GEMINI_V2_SSFS" - Gemini V2 rev10
	//   "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR"
	//   "GEMINI_V2_SQL_REPAIR_SFT"
	//   "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION"
	//   "YT_CONTENT_INSPIRATION" - Youtube Content Inspiration FT datasets.
	Dataset           string `json:"dataset,omitempty"`
	Filepath          string `json:"filepath,omitempty"`
	GeminiId          string `json:"geminiId,omitempty"`
	GnewsArticleTitle string `json:"gnewsArticleTitle,omitempty"`
	GoodallExampleId  string `json:"goodallExampleId,omitempty"`
	// IsOptOut: Whether the document is opted out.
	IsOptOut bool `json:"isOptOut,omitempty"`
	// IsPrompt: When true, this attribution came from the user's prompt.
	IsPrompt            bool   `json:"isPrompt,omitempty"`
	LamdaExampleId      string `json:"lamdaExampleId,omitempty"`
	License             string `json:"license,omitempty"`
	MeenaConversationId string `json:"meenaConversationId,omitempty"`
	// NaturalLanguageCode: Natural (not programming) language of the document.
	// Language code as defined by http://www.unicode.org/reports/tr35/#Identifiers
	// and https://tools.ietf.org/html/bcp47. Currently applicable to full-view
	// books. Use docinfo-util.h to set & read language fields. See go/iii.
	NaturalLanguageCode string `json:"naturalLanguageCode,omitempty"`
	// NoAttribution: True if this doc has no attribution information available. We
	// use an explicit field for this instead of just implicitly leaving all the
	// DocAttribution fields blank to distinguish a case where a bug/oversight has
	// left the attribution information empty vs when we really have no attribution
	// information available.
	NoAttribution      bool            `json:"noAttribution,omitempty"`
	PodcastUtteranceId string          `json:"podcastUtteranceId,omitempty"`
	PublicationDate    *GoogleTypeDate `json:"publicationDate,omitempty"`
	// QualityScoreExperimentOnly: This field is for opt-out experiment only, MUST
	// never be used during actual production/serving.
	QualityScoreExperimentOnly float64 `json:"qualityScoreExperimentOnly,omitempty"`
	// Repo: Github repository
	Repo string `json:"repo,omitempty"`
	// Url: URL of a webdoc
	Url      string `json:"url,omitempty"`
	VolumeId string `json:"volumeId,omitempty"`
	// WikipediaArticleTitle: Wikipedia article title. The Wikipedia TFDS dataset
	// includes article titles but not URLs. While a URL is to the best of our
	// knowledge a deterministic function of the title, we store the original title
	// to reflect the information in the original dataset.
	WikipediaArticleTitle string `json:"wikipediaArticleTitle,omitempty"`
	YoutubeVideoId        string `json:"youtubeVideoId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AmarnaId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AmarnaId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

// LearningGenaiRecitationRecitationResult: The recitation result for one input
type LearningGenaiRecitationRecitationResult struct {
	DynamicSegmentResults []*LearningGenaiRecitationSegmentResult `json:"dynamicSegmentResults,omitempty"`
	// RecitationAction: The recitation action for one given input. When its
	// segments contain different actions, the overall action will be returned in
	// the precedence of BLOCK > CITE > NO_ACTION. When the given input is not
	// found in any source, the recitation action will be NO_ACTION.
	//
	// Possible values:
	//   "ACTION_UNSPECIFIED"
	//   "CITE" - indicate that attribution must be shown for a Segment
	//   "BLOCK" - indicate that a Segment should be blocked from being used
	//   "NO_ACTION" - for tagging high-frequency code snippets
	//   "EXEMPT_FOUND_IN_PROMPT" - The recitation was found in prompt and is
	// exempted from overall results
	RecitationAction       string                                  `json:"recitationAction,omitempty"`
	TrainingSegmentResults []*LearningGenaiRecitationSegmentResult `json:"trainingSegmentResults,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DynamicSegmentResults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DynamicSegmentResults") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRecitationSegmentResult: The recitation result for each segment
// in a given input.
type LearningGenaiRecitationSegmentResult struct {
	// AttributionDataset: The dataset the segment came from. Datasets change often
	// as model evolves. Treat this field as informational only and avoid depending
	// on it directly.
	//
	// Possible values:
	//   "DATASET_UNSPECIFIED"
	//   "WIKIPEDIA" - Wikipedia article Tensorflow datasets used by Tarzan and
	// maintained by TFDS team.
	//   "WEBDOCS" - Webdocs that have been filtered from the docjoins by the
	// Tarzan team for use in the Tarzan training set.
	//   "WEBDOCS_FINETUNE"
	//   "GITHUB_MIRROR"
	//   "BOOKS_FULL_VIEW" - 'Full view' books dataset maintained by Oceanographers
	// team, meaning 'ok to view the book in full in all localities'. Largely the
	// same as 'public domain', but with potentially subtle distinction.
	//   "BOOKS_PRIVATE" - Filtered private books used by ULM:
	// http://google3/learning/multipod/pax/lm/params/ulm/tasks.py;l=123;rcl=494241309.
	// which corresponds with
	// /cns/mf-d/home/multipod-language-data/private_books/books_filtered_en_reshard
	// ed@50000
	//   "GNEWS" - Google news dataset referenced in:
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_tasks.py;l=922;rcl=496534668
	//   "ULM_DOCJOINS" - The docjoins data for ULM
	// /cns/yo-d/home/multipod-language-data/docjoins/rs=6.3/20220728/100B_docstruct
	// ure_split/examples_en.tfrecord_lattice_05_score_01_HFV13@3929
	//   "ULM_DOCJOINS_DEDUPED"
	//   "MEENA_FC" - Meena full conversations.
	// http://google3/learning/brain/research/conversation/meena/t5/pretrain_mixtures.py;l=675;rcl=496583228
	//   "PODCAST"
	//   "AQUA"
	//   "WEB_ASR"
	//   "BARD_GOLDEN"
	//   "COMMON_SENSE_REASONING"
	//   "MATH"
	//   "MATH_REASONING"
	//   "CLEAN_ARXIV"
	//   "LAMDA_FACTUALITY_E2E_QUERY_GENERATION"
	//   "LAMDA_FACTUALITY_E2E_RESPONSE_GENERATION"
	//   "MASSIVE_FORUM_THREAD_SCORED_BARD"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_200"
	//   "MASSIVE_FORUM_THREAD_SCORED_LONG_500"
	//   "DOCUMENT_CHUNKS"
	//   "MEENA_RESEARCH_PHASE_GOLDEN_MARKDOWN"
	//   "MEENA_RESEARCH_PHASE_GOOGLERS"
	//   "MEENA_RESPONSE_SAFETY_HUMAN_GEN"
	//   "MEENA_RESPONSE_SAFETY_SCHEMA_NO_BROADCAST"
	//   "MEENA_RESPONSE_SAFETY_V3_HUMAN_GEN2"
	//   "MEENA_RESPONSE_SAFETY_V3_SCHEMA_NO_BROADCAST"
	//   "LAMDA_FACTUALITY_TRIGGER"
	//   "LAMDA_SAFETY_V2_SCHEMA_NO_BROADCAST"
	//   "LAMDA_SSI_DISCRIMINATIVE"
	//   "ASSISTANT_PERSONALITY_SAFETY"
	//   "PODCAST_FINETUNE_DIALOG"
	//   "WORLD_QUERY_GENERATOR"
	//   "C4_JOINED_DOCJOINS"
	//   "HOL4_THEORIES"
	//   "HOL_LIGHT_THEORIES"
	//   "HOLSTEPS"
	//   "ISABELLE_STEP"
	//   "ISABELLE_THEORIES"
	//   "LEAN_MATHLIB_THEORIES"
	//   "LEAN_STEP"
	//   "MIZAR_THEORIES"
	//   "COQ_STEP"
	//   "COQ_THEORIES"
	//   "AMPS_KHAN" - Academic dataset of math text.
	// http://google3/learning/brain/research/conversation/meena/seqio/mixtures/experimental/bard.py;rcl=500222380
	//   "AMPS_MATHEMATICA"
	//   "CODEY_CODE"
	//   "CODE_QA_SE"
	//   "CODE_QA_SO"
	//   "CODE_QA_FT_FORMAT"
	//   "CODE_QA_FT_KNOWLEDGE"
	//   "CODE_QA_GITHUB_FILTERED_CODE"
	//   "BARD_PERSONALITY_GOLDEN"
	//   "ULM_DOCJOINS_WITH_URLS_EN"
	//   "ULM_DOCJOINS_WITH_URLS_I18N"
	//   "GOODALL_MTV5_GITHUB" - Datasets managed by the Goodall team:
	// deepmind-goodall@google.com
	//   "GOODALL_MTV5_BOOKS"
	//   "GOODALL_MTV5_C4"
	//   "GOODALL_MTV5_WIKIPEDIA"
	//   "GOODALL_MW_TOP_100B"
	//   "GOODALL_MW_STACK_EXCHANGE"
	//   "GOODALL_MW_TOP_0_10B"
	//   "GOODALL_MW_TOP_10B_20B"
	//   "CODEY_NOTEBOOK_LM_PRETRAINING" - Datasets used by Codepoet
	//   "VERTEX_SAFE_FLAN" - Datasets used by Vertex
	//   "GITHUB_MIRROR_V1_0_1"
	//   "GITHUB_MIRROR_V2_1_0"
	//   "CMS_WIKIPEDIA_LANG_FILTERED" - Datasets used by Gemini Public data
	//   "CMS_STACKOVERFLOW_MULTILINGUAL"
	//   "CMS_STACKEXCHANGE"
	//   "PUBMED"
	//   "GEMINI_DOCJOINS_EN_TOP10B_GCC" - Public webdocs
	//   "GEMINI_DOCJOINS_EN_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP20B_TOP100B_GCC"
	//   "GEMINI_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP10B_TOP20B_GCC"
	//   "GEMINI_DOCJOINS_I18N_TOP20B_TOP100B_GCC"
	//   "SIMPLIFIED_HTML_V1_GCC"
	//   "GEMINI_DOCJOINS_TOXICITY_TAGGED_GCC"
	//   "CMS_GITHUB_V4" - Github
	//   "GITHUB_HTML_V4"
	//   "GITHUB_OTHER_V4"
	//   "GITHUB_LONG_TAIL_V4"
	//   "CMS_GITHUB_MULTIFILE_V4"
	//   "GITHUB_DIFFS_WITH_COMMIT_MESSAGE"
	//   "ULM_ARXIV" - Arxiv
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_ENONLY" - Others
	//   "NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_040623_LONG_DEDUP_NONENONLY"
	//   "QUORA"
	//   "PODCASTS_ROBOTSTXT"
	//   "COMBINED_REDDIT"
	//   "CANARIES_SHUFFLED"
	//   "CLM_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "TECHDOCS_DATA_SOURCE"
	//   "SCIENCE_PDF_70M_DOCS_FILTERED"
	//   "GEMINI_V1_CMS_WIKIPEDIA_LANG_FILTERED" - Gemini V1, order by precedence.
	// Wikipedia
	//   "GEMINI_V1_WIKIPEDIA_DIFFS"
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_GCC_NODEDUP_050523" - Public webdocs
	//   "GEMINI_V1_DOCJOINS_EN_TOP10B_TOP20B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP20B_TOP100B_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_EN_TOP100B_ALL_INDEXED_GCC_NODEDUP_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP10B_TOP20B_GCC_050523"
	//   "GEMINI_V1_DOCJOINS_I18N_TOP20B_TOP100B_GCC_050523"
	//   "GEMINI_V1_SIMPLIFIED_HTML_V2_GCC"
	//   "GEMINI_V1_CMS_STACKOVERFLOW_MULTILINGUAL_V2"
	//   "GEMINI_V1_CMS_STACKEXCHANGE_DECONT"
	//   "GEMINI_V1_QUORA"
	//   "GEMINI_V1_COMBINED_REDDIT"
	//   "GEMINI_V1_DOCJOIN_100B_EN_TOXICITY_TAGGED_GCC_FIXED_TAGS"
	//   "GEMINI_V1_PUBMED"
	//   "GEMINI_V1_WEB_MATH_V2"
	//   "GEMINI_V1_CMS_GITHUB_V7" - GitHub dataset with license info. We prefer
	// this to help cite proper licenses for code recitation.
	//   "GEMINI_V1_CMS_GITHUB_DECONTAMINATED_V_7"
	//   "GEMINI_V1_GITHUB_DIFF_WITH_COMMIT_MESSAGE_V2"
	//   "GEMINI_V1_GITHUB_HTML_CSS_XML_V4"
	//   "GEMINI_V1_GITHUB_OTHER_V4"
	//   "GEMINI_V1_GITHUB_LONG_TAIL_V4"
	//   "GEMINI_V1_GITHUB_JUPTYER_NOTEBOOKS_SSTABLE"
	//   "GEMINI_V1_ULM_ARXIV_SSTABLE" - ArXiv
	//   "GEMINI_V1_PODCASTS_ROBOTSTXT" - Citable misc
	//   "GEMINI_V1_SCIENCE_PDF_68M_HQ_DOCS_GCC"
	//   "GEMINI_V1_GITHUB_TECHDOCS_V2"
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_EN" - Non-public
	// books
	//   "GEMINI_V1_NONPUB_COPYRIGHT_BOOKS_V2_70_CONF_LONG_DEDUP_NONEN"
	//   "GEMINI_V1_STEM_BOOKS_650K_TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_M3W_V2_FILTERED" - Other
	//
	// "GEMINI_V1_VQCOCA_1B_MULTIRES_WEBLI_EN_V4_350M_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_SCREENAI_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CULTURE_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_EN_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_CC3M_I18N_PREFIXED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_OCR_NON_EN_PREFIXED_FILTERED_IMAGE2TEXT"
	//   "GEMINI_V1_VQCOCA_1B_MULTIRES_VTP_4F_VIDEO2TEXT_PREFIX"
	//   "GEMINI_V1_FORMAL_MATH_WITHOUT_HOLSTEPS_AND_MIZAR"
	//   "GEMINI_V1_TRANSLATE_DATAV2_ALLTIERS_GCC_MIX"
	//   "GEMINI_V1_CANARIES_SHUFFLED_DOCJOIN_EN_NONEN_CODE_ARXIV_TRANSLATE"
	//   "DUET_CLOUD_SECURITY_DOCS" - Duet AI finetune datasets, order by
	// precedence.
	//   "DUET_GITHUB_CODE_SNIPPETS"
	//   "DUET_GITHUB_FILES"
	//   "DUET_GOBYEXAMPLE"
	//   "DUET_GOLANG_DOCS"
	//   "DUET_CLOUD_DOCS_TROUBLESHOOTING_TABLES"
	//   "DUET_DEVSITE_DOCS"
	//   "DUET_CLOUD_BLOG_POSTS"
	//   "DUET_CLOUD_PODCAST_EPISODES"
	//   "DUET_YOUTUBE_VIDEOS"
	//   "DUET_CLOUD_SKILLS_BOOST"
	//   "DUET_CLOUD_DOCS"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_GENERATED"
	//   "DUET_CLOUD_GITHUB_CODE_SNIPPETS_HANDWRITTEN"
	//   "DUET_GOOGLESQL_GENERATION"
	//   "DUET_CLOUD_IX_PROMPTS"
	//   "DUET_RAD"
	//   "DUET_STACKOVERFLOW_ISSUES"
	//   "DUET_STACKOVERFLOW_ANSWERS"
	//   "BARD_ARCADE_GITHUB" - Bard ARCADE finetune dataset
	//   "MOBILE_ASSISTANT_MAGI_FILTERED_0825_373K" - Mobile assistant finetune
	// datasets.
	//   "MOBILE_ASSISTANT_PALM24B_FILTERED_400K"
	//   "GENESIS_NEWS_INSIGHTS" - Genesis fine tuned datasets.
	//   "LABS_AQA_DSCOUT" - LABS AQA fine-tune datasets.
	//   "LABS_AQA_TAILWIND"
	//   "LABS_AQA_DELEWARE"
	//   "GEMINI_MULTIMODAL_FT_URL" - Gemini multimodal instruction tune(IT) and
	// fine tune(FT) datasets datasets.
	//   "GEMINI_MULTIMODAL_FT_YT"
	//   "GEMINI_MULTIMODAL_FT_SHUTTERSTOCK"
	//   "GEMINI_MULTIMODAL_FT_NONE"
	//   "GEMINI_MULTIMODAL_FT_OTHER"
	//   "GEMINI_MULTIMODAL_FT_INK"
	//   "GEMINI_MULTIMODAL_IT"
	//   "GEMINI_IT_SHUTTERSTOCK" - Gemini IT 1.2.7 datasets
	//   "GEMINI_IT_M3W"
	//   "GEMINI_IT_HEDGING"
	//   "GEMINI_IT_DSCOUT_FACTUALITY"
	//   "GEMINI_IT_AQUAMUSE"
	//   "GEMINI_IT_SHOTGUN"
	//   "GEMINI_IT_ACI_BENCH"
	//   "GEMINI_IT_SPIDER_FILTERED"
	//   "GEMINI_IT_TAB_SUM_BQ"
	//   "GEMINI_IT_QA_WITH_URL"
	//   "GEMINI_IT_CODE_INSTRUCT"
	//   "GEMINI_IT_MED_PALM"
	//   "GEMINI_IT_TASK_ORIENTED_DIALOG"
	//   "GEMINI_IT_NIMBUS_GROUNDING_TO_PROMPT"
	//   "GEMINI_IT_EITL_GEN"
	//   "GEMINI_IT_HITL_GEN"
	//   "GEMINI_IT_MECH"
	//   "GEMINI_IT_TABLE_GEN"
	//   "GEMINI_IT_NIMBUS_DECIBEL"
	//   "GEMINI_IT_CLOUD_CODE_IF"
	//   "GEMINI_IT_CLOUD_EUR_LEX_JSON"
	//   "GEMINI_IT_CLOUD_OASST"
	//   "GEMINI_IT_CLOUD_SELF_INSTRUCT"
	//   "GEMINI_IT_CLOUD_UCS_AQUAMUSE"
	//   "GEMIT_BRIDGE_SUFFIX_FT" - Gemit Bridge ULM FT dataset
	//   "CLOUD_SECURITY_PRETRAINING" - Cloud Security fine tuned datasets.
	//   "CLOUD_SECURITY_FINETUNING"
	//   "CLOUD_SECURITY_RAG_CISA"
	//   "GEMINI_GOOSE_PUBLIC" - Gemini Goose FT datasets.
	//   "GEMINI_GOOSE_SILOED"
	//   "GEMINI_V2_CMS_WIKIPEDIA_LANG_FILTERED_GCC_PII" - Gemini V2 datasets
	//   "GEMINI_V2_WIKIPEDIA_DIFFS_COMPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP10B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP10B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP10B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP20B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP20B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_NONARTICLES_
	// COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP20B_111323_WITHOUT_CJKT_STOP_ARTICLES_COM
	// PLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP100B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP100B_211123_PII_FILTERED"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_NONARTICLES
	// _COMPLIANT"
	//
	// "GEMINI_V2_GEMINI_DOCJOINS_NONEN_TOP100B_111323_WITHOUT_CJKT_STOP_ARTICLES_CO
	// MPLIANT"
	//   "GEMINI_V2_ENGLISH_ARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_ENGLISH_NONARTICLES_TOP500B_211123_PII_FILTERED"
	//   "GEMINI_V2_QUORA_COMPLIANT"
	//   "GEMINI_V2_FORUMS_V2_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKOVERFLOW_MULTILINGUAL_V2_COMPLIANT"
	//   "GEMINI_V2_SIMPLIFIED_HTML_V2_CORRECT_FORMAT_COMPLIANT"
	//   "GEMINI_V2_GEMINI_DOCJOINS_TOXICITY_TAGGED_FIXED_TAGS_COMPLIANT"
	//   "GEMINI_V2_CODEWEB_V1_COMPLIANT"
	//   "GEMINI_V2_LEETCODE_GCC_PII"
	//   "GEMINI_V2_CODE_CONTESTS_COMPLIANT"
	//   "GEMINI_V2_CMS_GITHUB_MULTI_FILE_FOR_FIM_GEMBAGZ_FIXED_BYTES_LENGTHS"
	//   "GEMINI_V2_GITHUB_EVALED_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_NON_EVAL_HIGH_PRI_LANGUAGES_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LOW_PRI_LANGUAGES_AND_CONFIGS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_LONG_TAIL_AND_STRUCTURED_DATA_COMPLIANT"
	//   "GEMINI_V2_GITHUB_PYTHON_NOTEBOOKS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_DIFFS_COMPLIANT"
	//   "GEMINI_V2_GITHUB_TECHDOCS_COMPLIANT"
	//   "GEMINI_V2_HIGH_QUALITY_CODE_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_SCIENCE_PDF_68M_HQ_DOCS_DEDUP_COMPLIANT_CLEAN_TEX"
	//   "GEMINI_V2_ARXIV_2023_COMPLIANT"
	//   "GEMINI_V2_FORMAL_COMPLIANT"
	//   "GEMINI_V2_CMS_STACKEXCHANGE_COMPLIANT"
	//   "GEMINI_V2_PUBMED_COMPLIANT"
	//   "GEMINI_V2_WEB_MATH_V3_COMPLIANT"
	//   "GEMINI_V2_SCIENCEWEB_V0_GCC_PII"
	//   "GEMINI_V2_WEB_POLYMATH_V1_COMPLIANT"
	//   "GEMINI_V2_MATH_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_BIOLOGY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_PHYSICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHEMISTRY_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MACHINE_LEARNING_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_QA_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_ECONOMICS_V2_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_MEDICAL_TARGETED_DATA_COMPLIANT2"
	//   "GEMINI_V2_CHESS_COMPLIANT"
	//   "GEMINI_V2_YOUTUBE_SCIENCE_V4_FILTERED_COMPLIANT"
	//   "GEMINI_V2_GOALDMINE_XL_GENERATED_PLUS_GT_NO_DM_MATH_COMPLIANT"
	//   "GEMINI_V2_FIRSTTIMES_SCIENCE_PDF_DEDUP_HQ_LENGTH_FILTERED_COMPLIANT"
	//   "GEMINI_V2_PODCASTS_COMPLIANT"
	//   "GEMINI_V2_EN_NONSCIENCE_PDF_DEDUP_46M_DOCS_COMPLIANT"
	//
	// "GEMINI_V2_NONPUB_COPYRIGHT_BOOKS_V3_70_CONF_082323_LONG_DEDUP_ENONLY_COMPLIA
	// NT"
	//   "GEMINI_V2_STEM_COPYRIGHT_BOOKS_V3_111823_LONG_DEDUP_ENONLY_COMPLIANT"
	//   "GEMINI_V2_STEM_BOOKS_318K_TEXT_COMPLIANT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M3W_WITH_IMAGE_TOKENS_INSERTED_INTERLEAVED_
	// COMPLIANT_PII_FILTERED_SOFT"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_T2I_TEXT_TO_IMAGE_COMPLIAN
	// T_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_IMAGE_TO_TEXT_COMPLIANT_PII_FI
	// LTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_EN_V4_350M_IMAGE_TO_TEXT_COMPLIANT_PI
	// I_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_I18N_680M_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_FIL
	// TERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_FULL_HTML_75M_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SCREENAI_V1_1_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_OCR_DOC_240M_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SHUTTERSTOCK_VIDEO_VIDEO_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_M4W_INTERLEAVED_COMPLIANT_PII_FILTERED_SOFT
	// "
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CULTURE_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_DETECTION_IMAGE_TO_TEXT_COMPLIANT_PII
	// _FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WEBLI_ALT_TEXT_NONEN_500M_IMAGE_TO_TEXT_COM
	// PLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_SPATIAL_AWARE_PALI_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_3D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_EN_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TABLE2MD_V2_NON_EN_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_3D_DOC_IMAGE_TO_TEXT_COMPLIANT_PII_
	// FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CC3M_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_INFOGRAPHICS_LARGE_WEB_IMAGE_TO_TEXT_COMPLI
	// ANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_BIORXIV_IMAGE_TO_TEXT_COMPLIANT_PII_FILTERE
	// D"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION_IMAGE
	// _TO_TEXT_COMPLIANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PLOT2TABLE_V2_IMAGE_TO_TEXT_COMPLIANT_PII_F
	// ILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_TIKZ_DERENDERING_MERGED_IMAGE_TO_TEXT_COMPL
	// IANT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_CLOUDAI_TABLE2HTML_2D_IMAGE_TO_TEXT_COMPLIA
	// NT_PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_WIKIPEDIA_EQUATIONS_IMAGE_TO_TEXT_COMPLIANT
	// _PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_PHOTOMATH_EQ2LATEX_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//
	// "GEMINI_V2_CACHED_VQCOCA_MMFT_17T_ARXIV_EQUATIONS_V2_IMAGE_TO_TEXT_COMPLIANT_
	// PII_FILTERED"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_ASR_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_SUP_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_TTS_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_PODIOSET_INTERLEAVE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_ENUS_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_SCIENCE_I18N_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_1P5M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_USM2B_MLPV5_YT_INTERLEAVE_HEAD_4M_GEMBAGZ_V2_COMPLIANT"
	//   "GEMINI_V2_CLM_TRANSLATE_DATAV3_WEB_UNWMT_INCR_MIX"
	//   "GEMINI_V2_NTL_NTLV4A_MONOLINGUAL_DEDUP_N5"
	//   "GEMINI_V2_NTL_STT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_TRANSLIT_BILEX_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_BT_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_NTL_SYN_FT_FIXED_TRANSLATE_DEDUP_N5"
	//   "GEMINI_V2_CANARIES_SHUFFLED_COMPLIANT"
	//   "CLOUD_GEMIT_CLOUD_FACTUALITY_GROUNDING_MAGI" - Cloud gemit pro FT
	// datasets.
	//   "CLOUD_GEMIT_MT_DIALGUE_LMSYS"
	//   "CLOUD_GEMIT_MTS_DIALOGUE_V3"
	//   "CLOUD_GEMIT_COMMIT_MSG_GEN_V3"
	//   "CLOUD_GEMIT_CODE_IF_V1"
	//   "CLOUD_GEMIT_CODE_SELF_REPAIR"
	//   "CLOUD_GEMIT_IDENTITY"
	//   "CLOUD_GEMIT_SEARCH_AUGMENTED_RESPONSE_GENERATION" - Cloud gemit ultra FT
	// datasets.
	//   "CLOUD_GEMIT_AMPS"
	//   "CLOUD_GEMIT_AQUA"
	//   "CLOUD_GEMIT_COMMON_SENSE_REASONING_SCHEMA"
	//   "CLOUD_GEMIT_GSM8K_SCHEMA"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_UN" - Gemini V1 tail patch translation.
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_EUROPARL"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_WMT_NEWSCOMMENTARY"
	//   "GEMINI_V1_TAIL_PATCH_TRANSLATION_2021_INCR"
	//   "GEMINI_V1_TAIL_PATCH_GOALDMINE" - Gemini V1 tail patch others.
	//   "GEMINI_V1_TAIL_PATCH_PHOTOMATH_IM2SOL_PROBLEM_AND_SOLUTION"
	//   "GEMINI_V1_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN" - Gemini V1 and V2 shared
	// tail patch.
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V1_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V1_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V1_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_CCAI_DIALOG_SUM_HUMAN"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_MATH_REASONING_NON_PUNTING"
	//   "GEMINI_V2_TAIL_PATCH_JSON_TABLE_EXTRACTION"
	//   "GEMINI_V2_TAIL_PATCH_BIRD_SQL_LITE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_ANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE"
	//   "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch.
	//   "GEMINI_V2_TAIL_PATCH_VOXPOPULI"
	//   "GEMINI_V2_TAIL_PATCH_FLEURS"
	//   "GEMINI_V2_SSFS" - Gemini V2 rev10
	//   "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS"
	//   "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR"
	//   "GEMINI_V2_SQL_REPAIR_SFT"
	//   "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION"
	//   "YT_CONTENT_INSPIRATION" - Youtube Content Inspiration FT datasets.
	AttributionDataset string `json:"attributionDataset,omitempty"`
	// DisplayAttributionMessage: human-friendly string that contains information
	// from doc_attribution which could be shown by clients
	DisplayAttributionMessage string                                 `json:"displayAttributionMessage,omitempty"`
	DocAttribution            *LearningGenaiRecitationDocAttribution `json:"docAttribution,omitempty"`
	// DocOccurrences: number of documents that contained this segment
	DocOccurrences int64 `json:"docOccurrences,omitempty"`
	EndIndex       int64 `json:"endIndex,omitempty"`
	// RawText: The raw text in the given input that is corresponding to the
	// segment. It will be available only when 'return_segment_raw_text' is enabled
	// in the request options.
	RawText string `json:"rawText,omitempty"`
	// Possible values:
	//   "ACTION_UNSPECIFIED"
	//   "CITE" - indicate that attribution must be shown for a Segment
	//   "BLOCK" - indicate that a Segment should be blocked from being used
	//   "NO_ACTION" - for tagging high-frequency code snippets
	//   "EXEMPT_FOUND_IN_PROMPT" - The recitation was found in prompt and is
	// exempted from overall results
	SegmentRecitationAction string `json:"segmentRecitationAction,omitempty"`
	// SourceCategory: The category of the source dataset where the segment came
	// from. This is more stable than Dataset.
	//
	// Possible values:
	//   "SOURCE_CATEGORY_UNSPECIFIED"
	//   "SOURCE_CATEGORY_WIKIPEDIA"
	//   "SOURCE_CATEGORY_WEBDOCS"
	//   "SOURCE_CATEGORY_GITHUB"
	//   "SOURCE_CATEGORY_ARXIV"
	//   "SOURCE_CATEGORY_PRIVATE_BOOKS"
	//   "SOURCE_CATEGORY_OTHERS"
	//   "SOURCE_CATEGORY_PUBLIC_BOOKS"
	//   "SOURCE_CATEGORY_GNEWS"
	SourceCategory string `json:"sourceCategory,omitempty"`
	// StartIndex: The segment boundary start (inclusive) and end index (exclusive)
	// in the given text. In the streaming RPC, the indexes always start from the
	// beginning of the first text in the entire stream. The indexes are measured
	// in UTF-16 code units.
	StartIndex int64 `json:"startIndex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AttributionDataset") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AttributionDataset") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootCalculationType: The type used for final weights
// calculation.
type LearningGenaiRootCalculationType struct {
	// Possible values:
	//   "TYPE_UNKNOWN" - Unknown scorer type.
	//   "TYPE_SAFE" - Safety scorer.
	//   "TYPE_POLICY" - Policy scorer.
	//   "TYPE_GENERATION" - Generation scorer.
	ScoreType string  `json:"scoreType,omitempty"`
	Weights   float64 `json:"weights,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ScoreType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ScoreType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

type LearningGenaiRootClassifierOutput struct {
	// RuleOutput: If set, this is the output of the first matching rule.
	RuleOutput *LearningGenaiRootRuleOutput `json:"ruleOutput,omitempty"`
	// RuleOutputs: outputs of all matching rule.
	RuleOutputs []*LearningGenaiRootRuleOutput `json:"ruleOutputs,omitempty"`
	// State: The results of data_providers and metrics.
	State *LearningGenaiRootClassifierState `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RuleOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RuleOutput") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootClassifierOutputSummary struct {
	Metrics []*LearningGenaiRootMetricOutput `json:"metrics,omitempty"`
	// RuleOutput: Output of the first matching rule.
	RuleOutput *LearningGenaiRootRuleOutput `json:"ruleOutput,omitempty"`
	// RuleOutputs: outputs of all matching rule.
	RuleOutputs []*LearningGenaiRootRuleOutput `json:"ruleOutputs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Metrics") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Metrics") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootClassifierState: DataProviderOutput and MetricOutput can be
// saved between calls to the Classifier framework. For instance, you can run
// the query classifier, get outputs from those metrics, then use them in a
// result classifier as well. Example rule based on this idea: and_rules { rule
// { metric_name: 'query_safesearch_v2' ... } rule { metric_name:
// 'response_safesearch_v2' ... } }
type LearningGenaiRootClassifierState struct {
	DataProviderOutput []*LearningGenaiRootDataProviderOutput `json:"dataProviderOutput,omitempty"`
	MetricOutput       []*LearningGenaiRootMetricOutput       `json:"metricOutput,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataProviderOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataProviderOutput") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootCodeyChatMetadata: Stores all metadata relating to AIDA
// DoConversation.
type LearningGenaiRootCodeyChatMetadata struct {
	// CodeLanguage: Indicates the programming language of the code if the message
	// is a code chunk.
	//
	// Possible values:
	//   "UNSPECIFIED" - Unspecified Language.
	//   "ALL" - All languages.
	//   "TEXT" - Not code.
	//   "CPP" - The most common, well-supported languages. C++ code.
	//   "PYTHON" - Python code.
	//   "KOTLIN" - Kotlin code.
	//   "JAVA" - Java code.
	//   "JAVASCRIPT" - JavaScript code.
	//   "GO" - Go code.
	//   "R" - R code.
	//   "JUPYTER_NOTEBOOK" - Jupyter notebook.
	//   "TYPESCRIPT" - TypeScript code.
	//   "HTML" - HTML code.
	//   "SQL" - SQL code.
	//   "BASH" - Other languages in alphabetical order. BASH code.
	//   "C" - C code.
	//   "DART" - Dart code.
	//   "GRADLE" - Gradle code.
	//   "GROOVY" - Groovy code.
	//   "JAVADOC" - API documentation.
	//   "JSON" - JSON code.
	//   "MAKEFILE" - Makefile code.
	//   "MARKDOWN" - Markdown code.
	//   "PROTO" - Protocol buffer.
	//   "XML" - XML code.
	//   "YAML" - YAML code.
	CodeLanguage string `json:"codeLanguage,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 *LearningGenaiRootCodeyChatMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootCodeyChatMetadata
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// LearningGenaiRootCodeyCheckpoint: Describes a sample at a checkpoint for
// post-processing.
type LearningGenaiRootCodeyCheckpoint struct {
	// CodeyTruncatorMetadata: Metadata that describes what was truncated at this
	// checkpoint.
	CodeyTruncatorMetadata *LearningGenaiRootCodeyTruncatorMetadata `json:"codeyTruncatorMetadata,omitempty"`
	// CurrentSample: Current state of the sample after truncator.
	CurrentSample string `json:"currentSample,omitempty"`
	// PostInferenceStep: Postprocessor run that yielded this checkpoint.
	//
	// Possible values:
	//   "STEP_POST_PROCESSING_STEP_UNSPECIFIED"
	//   "STEP_ORIGINAL_MODEL_OUTPUT" - Original model outputs as-is.
	//   "STEP_MODEL_OUTPUT_DEDUPLICATION" - Original model outputs after
	// deduplication.
	//   "STEP_STOP_SEQUENCE_TRUNCATION" - StopSequencePostProcessor.
	//   "STEP_HEURISTIC_TRUNCATION" - Heuristic SuffixTruncator step.
	//   "STEP_WALD_TRUNCATION" - Go service post-processor.
	//   "STEP_WHITESPACE_TRUNCATION" - Truncate trailing whitespace and filter
	// whitespace-only completions.
	//   "STEP_FINAL_DEDUPLICATION" - Deduplicate after all truncations.
	//   "STEP_TOXICITY_CHECK" - Toxicity returns true.
	//   "STEP_RECITATION_CHECK" - Recitation causes BLOCK.
	//   "STEP_RETURNED" - Return the response to the API.
	//   "STEP_WALKBACK_CORRECTION" - Correcting walkback constraint (samples are
	// dropped if they don't match the prefix constraint).
	//   "STEP_SCORE_THRESHOLDING" - Thresholding samples based on a minimum score.
	//   "STEP_MODEL_CONFIG_STOP_SEQUENCE_TRUNCATION" - StopSequencePostProcessor.
	//   "STEP_CUSTOM_STOP_SEQUENCE_TRUNCATION" - StopSequencePostProcessor.
	//   "STEP_EXPECTED_SAMPLE_SIZE" - Drop extra number of samples that exceeds
	// expected_samples.
	//   "STEP_TREE_TRIM_TRUNCATION" - Truncated by highest end token score.
	PostInferenceStep string `json:"postInferenceStep,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CodeyTruncatorMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CodeyTruncatorMetadata") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootCodeyCompletionMetadata: Stores all metadata relating to
// Completion.
type LearningGenaiRootCodeyCompletionMetadata struct {
	Checkpoints []*LearningGenaiRootCodeyCheckpoint `json:"checkpoints,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 *LearningGenaiRootCodeyCompletionMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootCodeyCompletionMetadata
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// LearningGenaiRootCodeyGenerationMetadata: Stores all metadata relating to
// GenerateCode.
type LearningGenaiRootCodeyGenerationMetadata struct {
	// Output: Last state of the sample before getting dropped/returned.
	Output string `json:"output,omitempty"`
	// PostInferenceStep: Last Codey postprocessing step for this sample before
	// getting dropped/returned.
	//
	// Possible values:
	//   "STEP_POST_PROCESSING_STEP_UNSPECIFIED"
	//   "STEP_ORIGINAL_MODEL_OUTPUT" - Original model outputs as-is.
	//   "STEP_MODEL_OUTPUT_DEDUPLICATION" - Original model outputs after
	// deduplication.
	//   "STEP_STOP_SEQUENCE_TRUNCATION" - StopSequencePostProcessor.
	//   "STEP_HEURISTIC_TRUNCATION" - Heuristic SuffixTruncator step.
	//   "STEP_WALD_TRUNCATION" - Go service post-processor.
	//   "STEP_WHITESPACE_TRUNCATION" - Truncate trailing whitespace and filter
	// whitespace-only completions.
	//   "STEP_FINAL_DEDUPLICATION" - Deduplicate after all truncations.
	//   "STEP_TOXICITY_CHECK" - Toxicity returns true.
	//   "STEP_RECITATION_CHECK" - Recitation causes BLOCK.
	//   "STEP_RETURNED" - Return the response to the API.
	//   "STEP_WALKBACK_CORRECTION" - Correcting walkback constraint (samples are
	// dropped if they don't match the prefix constraint).
	//   "STEP_SCORE_THRESHOLDING" - Thresholding samples based on a minimum score.
	//   "STEP_MODEL_CONFIG_STOP_SEQUENCE_TRUNCATION" - StopSequencePostProcessor.
	//   "STEP_CUSTOM_STOP_SEQUENCE_TRUNCATION" - StopSequencePostProcessor.
	//   "STEP_EXPECTED_SAMPLE_SIZE" - Drop extra number of samples that exceeds
	// expected_samples.
	//   "STEP_TREE_TRIM_TRUNCATION" - Truncated by highest end token score.
	PostInferenceStep string `json:"postInferenceStep,omitempty"`
	// 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 *LearningGenaiRootCodeyGenerationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootCodeyGenerationMetadata
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// LearningGenaiRootCodeyOutput: Top-level wrapper used to store all things
// codey-related.
type LearningGenaiRootCodeyOutput struct {
	CodeyChatMetadata       *LearningGenaiRootCodeyChatMetadata       `json:"codeyChatMetadata,omitempty"`
	CodeyCompletionMetadata *LearningGenaiRootCodeyCompletionMetadata `json:"codeyCompletionMetadata,omitempty"`
	CodeyGenerationMetadata *LearningGenaiRootCodeyGenerationMetadata `json:"codeyGenerationMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CodeyChatMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CodeyChatMetadata") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootCodeyTruncatorMetadata: Metadata describing what was
// truncated at each checkpoint.
type LearningGenaiRootCodeyTruncatorMetadata struct {
	// CutoffIndex: Index of the current sample that trims off truncated text.
	CutoffIndex int64 `json:"cutoffIndex,omitempty"`
	// TruncatedText: Text that was truncated at a specific checkpoint.
	TruncatedText string `json:"truncatedText,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CutoffIndex") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CutoffIndex") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootControlDecodingConfigThreshold: Score threshold for a
// category.
type LearningGenaiRootControlDecodingConfigThreshold struct {
	// Possible values:
	//   "UNSPECIFIED"
	//   "DANGEROUS_CONTENT"
	//   "HARASSMENT"
	//   "HATE_SPEECH"
	//   "SEXUALLY_EXPLICIT"
	Policy   string  `json:"policy,omitempty"`
	ScoreMax float64 `json:"scoreMax,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 *LearningGenaiRootControlDecodingConfigThreshold) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootControlDecodingConfigThreshold
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

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

// LearningGenaiRootControlDecodingRecord: Holds one control decoding record.
type LearningGenaiRootControlDecodingRecord struct {
	// Prefixes: Prefixes feeded into scorer.
	Prefixes string `json:"prefixes,omitempty"`
	// Scores: Per policy scores returned from Scorer. Expect to have the same
	// number of scores as in `thresholds`.
	Scores []*LearningGenaiRootControlDecodingRecordPolicyScore `json:"scores,omitempty"`
	// Suffiexes: Suffixes feeded into scorer.
	Suffiexes string `json:"suffiexes,omitempty"`
	// Thresholds: Per policy thresholds from user config.
	Thresholds []*LearningGenaiRootControlDecodingConfigThreshold `json:"thresholds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Prefixes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Prefixes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootControlDecodingRecordPolicyScore struct {
	// Possible values:
	//   "UNSPECIFIED"
	//   "DANGEROUS_CONTENT"
	//   "HARASSMENT"
	//   "HATE_SPEECH"
	//   "SEXUALLY_EXPLICIT"
	Policy string  `json:"policy,omitempty"`
	Score  float64 `json:"score,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 *LearningGenaiRootControlDecodingRecordPolicyScore) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootControlDecodingRecordPolicyScore
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

func (s *LearningGenaiRootControlDecodingRecordPolicyScore) UnmarshalJSON(data []byte) error {
	type NoMethod LearningGenaiRootControlDecodingRecordPolicyScore
	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
}

type LearningGenaiRootControlDecodingRecords struct {
	// Records: One ControlDecodingRecord record maps to one rewind.
	Records []*LearningGenaiRootControlDecodingRecord `json:"records,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Records") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Records") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootDataProviderOutput struct {
	Name string `json:"name,omitempty"`
	// Status: If set, this DataProvider failed and this is the error message.
	Status *UtilStatusProto `json:"status,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 *LearningGenaiRootDataProviderOutput) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootDataProviderOutput
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

type LearningGenaiRootFilterMetadata struct {
	// Confidence: Filter confidence.
	//
	// Possible values:
	//   "FILTER_CONFIDENCE_UNKNOWN"
	//   "FILTER_CONFIDENCE_VERY_LOW"
	//   "FILTER_CONFIDENCE_LOW"
	//   "FILTER_CONFIDENCE_MEDIUM"
	//   "FILTER_CONFIDENCE_HIGH"
	//   "FILTER_CONFIDENCE_VERY_HIGH"
	Confidence string `json:"confidence,omitempty"`
	// DebugInfo: Debug info for the message.
	DebugInfo *LearningGenaiRootFilterMetadataFilterDebugInfo `json:"debugInfo,omitempty"`
	// Fallback: A fallback message chosen by the applied filter.
	Fallback string `json:"fallback,omitempty"`
	// Info: Additional info for the filter.
	Info string `json:"info,omitempty"`
	// Name: Name of the filter that triggered.
	Name string `json:"name,omitempty"`
	// Reason: Filter reason.
	//
	// Possible values:
	//   "FILTER_REASON_UNKNOWN" - Unknown filter reason.
	//   "FILTER_REASON_NOT_FILTERED" - Input not filtered.
	//   "FILTER_REASON_SENSITIVE" - Sensitive content.
	//   "FILTER_REASON_RECITATION" - Recited content.
	//   "FILTER_REASON_LANGUAGE" - Language filtering
	//   "FILTER_REASON_TAKEDOWN" - Takedown policy
	//   "FILTER_REASON_CLASSIFIER" - Classifier Module
	//   "FILTER_REASON_EMPTY_RESPONSE" - Empty response message.
	//   "FILTER_REASON_SIMILARITY_TAKEDOWN" - Similarity takedown.
	//   "FILTER_REASON_UNSAFE" - Unsafe responses from scorers.
	//   "FILTER_REASON_PAIRWISE_CLASSIFIER" - Pairwise classifier.
	//   "FILTER_REASON_CODEY" - Codey Filter.
	//   "FILTER_REASON_URL" - URLs Filter.
	//   "FILTER_REASON_EMAIL" - Emails Filter.
	//   "FILTER_REASON_SAFETY_CAT" - SafetyCat filter.
	//   "FILTER_REASON_REQUEST_RESPONSE_TAKEDOWN" - Request Response takedown.
	//   "FILTER_REASON_RAI_PQC" - RAI Filter.
	//   "FILTER_REASON_ATLAS" - Atlas specific topic filter
	//   "FILTER_REASON_RAI_CSAM" - RAI Filter.
	//   "FILTER_REASON_RAI_FRINGE" - RAI Filter.
	//   "FILTER_REASON_RAI_SPII" - RAI Filter.
	//   "FILTER_REASON_RAI_IMAGE_VIOLENCE" - RAI Filter
	//   "FILTER_REASON_RAI_IMAGE_PORN" - RAI Filter
	//   "FILTER_REASON_RAI_IMAGE_CSAM" - RAI Filter
	//   "FILTER_REASON_RAI_IMAGE_PEDO" - RAI Filter
	//   "FILTER_REASON_RAI_IMAGE_CHILD" - RAI Filter
	//   "FILTER_REASON_RAI_VIDEO_FRAME_VIOLENCE" - RAI Filter
	//   "FILTER_REASON_RAI_VIDEO_FRAME_PORN" - RAI Filter
	//   "FILTER_REASON_RAI_VIDEO_FRAME_CSAM" - RAI Filter
	//   "FILTER_REASON_RAI_VIDEO_FRAME_PEDO" - RAI Filter
	//   "FILTER_REASON_RAI_VIDEO_FRAME_CHILD" - RAI Filter
	//   "FILTER_REASON_RAI_CONTEXTUAL_DANGEROUS" - RAI Filter
	//   "FILTER_REASON_RAI_GRAIL_TEXT" - Grail Text
	//   "FILTER_REASON_RAI_GRAIL_IMAGE" - Grail Image
	//   "FILTER_REASON_RAI_SAFETYCAT" - SafetyCat.
	//   "FILTER_REASON_TOXICITY" - Toxic content.
	//   "FILTER_REASON_ATLAS_PRICING" - Atlas specific topic filter for pricing
	// questions.
	//   "FILTER_REASON_ATLAS_BILLING" - Atlas specific topic filter for billing
	// questions.
	//   "FILTER_REASON_ATLAS_NON_ENGLISH_QUESTION" - Atlas specific topic filter
	// for non english questions.
	//   "FILTER_REASON_ATLAS_NOT_RELATED_TO_GCP" - Atlas specific topic filter for
	// non GCP questions.
	//   "FILTER_REASON_ATLAS_AWS_AZURE_RELATED" - Atlas specific topic filter
	// aws/azure related questions.
	//   "FILTER_REASON_XAI" - Right now we don't do any filtering for XAI. Adding
	// this just want to differentiatiat the XAI output metadata from other
	// SafetyCat RAI output metadata
	//   "FILTER_CONTROL_DECODING" - The response are filtered because it could not
	// pass the control decoding thresholds and the maximum rewind attempts is
	// reached.
	Reason string `json:"reason,omitempty"`
	// Text: The input query or generated response that is getting filtered.
	Text string `json:"text,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 *LearningGenaiRootFilterMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootFilterMetadata
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

type LearningGenaiRootFilterMetadataFilterDebugInfo struct {
	ClassifierOutput     *LearningGenaiRootClassifierOutput     `json:"classifierOutput,omitempty"`
	DefaultMetadata      string                                 `json:"defaultMetadata,omitempty"`
	LanguageFilterResult *LearningGenaiRootLanguageFilterResult `json:"languageFilterResult,omitempty"`
	// RaiOutput: Safety filter output information for LLM Root RAI harm check.
	RaiOutput *LearningGenaiRootRAIOutput        `json:"raiOutput,omitempty"`
	RaiResult *CloudAiNlLlmProtoServiceRaiResult `json:"raiResult,omitempty"`
	RaiSignal *CloudAiNlLlmProtoServiceRaiSignal `json:"raiSignal,omitempty"`
	// Records: Number of rewinds by controlled decoding.
	Records                *LearningGenaiRootControlDecodingRecords                    `json:"records,omitempty"`
	StreamRecitationResult *LanguageLabsAidaTrustRecitationProtoStreamRecitationResult `json:"streamRecitationResult,omitempty"`
	TakedownResult         *LearningGenaiRootTakedownResult                            `json:"takedownResult,omitempty"`
	ToxicityResult         *LearningGenaiRootToxicityResult                            `json:"toxicityResult,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClassifierOutput") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClassifierOutput") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootGroundingMetadata struct {
	Citations []*LearningGenaiRootGroundingMetadataCitation `json:"citations,omitempty"`
	// GroundingCancelled: True if grounding is cancelled, for example, no facts
	// being retrieved.
	GroundingCancelled bool     `json:"groundingCancelled,omitempty"`
	SearchQueries      []string `json:"searchQueries,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 *LearningGenaiRootGroundingMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootGroundingMetadata
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

type LearningGenaiRootGroundingMetadataCitation struct {
	// EndIndex: Index in the prediction output where the citation ends
	// (exclusive). Must be > start_index and <= len(output).
	EndIndex int64 `json:"endIndex,omitempty"`
	// FactIndex: Index of the fact supporting this claim. Should be within the
	// range of the `world_facts` in the GenerateResponse.
	FactIndex int64 `json:"factIndex,omitempty"`
	// Score: Confidence score of this entailment. Value is [0,1] with 1 is the
	// most confidence.
	Score float64 `json:"score,omitempty"`
	// StartIndex: Index in the prediction output where the citation starts
	// (inclusive). Must be >= 0 and < end_index.
	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 *LearningGenaiRootGroundingMetadataCitation) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootGroundingMetadataCitation
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

func (s *LearningGenaiRootGroundingMetadataCitation) UnmarshalJSON(data []byte) error {
	type NoMethod LearningGenaiRootGroundingMetadataCitation
	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
}

type LearningGenaiRootHarm struct {
	// ContextualDangerous: Please do not use, this is still under development.
	ContextualDangerous bool                                     `json:"contextualDangerous,omitempty"`
	Csam                bool                                     `json:"csam,omitempty"`
	Fringe              bool                                     `json:"fringe,omitempty"`
	GrailImageHarmType  *LearningGenaiRootHarmGrailImageHarmType `json:"grailImageHarmType,omitempty"`
	GrailTextHarmType   *LearningGenaiRootHarmGrailTextHarmType  `json:"grailTextHarmType,omitempty"`
	ImageChild          bool                                     `json:"imageChild,omitempty"`
	ImageCsam           bool                                     `json:"imageCsam,omitempty"`
	ImagePedo           bool                                     `json:"imagePedo,omitempty"`
	// ImagePorn: Image signals
	ImagePorn     bool                                      `json:"imagePorn,omitempty"`
	ImageViolence bool                                      `json:"imageViolence,omitempty"`
	Pqc           bool                                      `json:"pqc,omitempty"`
	Safetycat     *LearningGenaiRootHarmSafetyCatCategories `json:"safetycat,omitempty"`
	// Spii: Spii Filter uses buckets
	// http://google3/google/privacy/dlp/v2/storage.proto;l=77;rcl=584719820 to
	// classify the input. LMRoot converts the bucket into double score. For
	// example the score for "POSSIBLE" is 3 / 5 = 0.6 .
	Spii            *LearningGenaiRootHarmSpiiFilter `json:"spii,omitempty"`
	Threshold       float64                          `json:"threshold,omitempty"`
	VideoFrameChild bool                             `json:"videoFrameChild,omitempty"`
	VideoFrameCsam  bool                             `json:"videoFrameCsam,omitempty"`
	VideoFramePedo  bool                             `json:"videoFramePedo,omitempty"`
	// VideoFramePorn: Video frame signals
	VideoFramePorn     bool `json:"videoFramePorn,omitempty"`
	VideoFrameViolence bool `json:"videoFrameViolence,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContextualDangerous") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContextualDangerous") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

// LearningGenaiRootHarmGrailImageHarmType: Harm type for images
type LearningGenaiRootHarmGrailImageHarmType struct {
	// Possible values:
	//   "IMAGE_HARM_TYPE_UNSPECIFIED"
	//   "IMAGE_HARM_TYPE_PORN"
	//   "IMAGE_HARM_TYPE_VIOLENCE"
	//   "IMAGE_HARM_TYPE_CSAI"
	//   "IMAGE_HARM_TYPE_PEDO"
	//   "IMAGE_HARM_TYPE_MINORS"
	//   "IMAGE_HARM_TYPE_DANGEROUS"
	//   "IMAGE_HARM_TYPE_MEDICAL"
	//   "IMAGE_HARM_TYPE_RACY"
	//   "IMAGE_HARM_TYPE_OBSCENE"
	//   "IMAGE_HARM_TYPE_MINOR_PRESENCE"
	//   "IMAGE_HARM_TYPE_GENERATIVE_MINOR_PRESENCE"
	//   "IMAGE_HARM_TYPE_GENERATIVE_REALISTIC_VISIBLE_FACE"
	ImageHarmType []string `json:"imageHarmType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ImageHarmType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImageHarmType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootHarmGrailTextHarmType: Harm type for text
type LearningGenaiRootHarmGrailTextHarmType struct {
	// Possible values:
	//   "HARM_TYPE_UNSPECIFIED"
	//   "HARM_TYPE_HATE"
	//   "HARM_TYPE_TOXICITY"
	//   "HARM_TYPE_VIOLENCE"
	//   "HARM_TYPE_CSAI"
	//   "HARM_TYPE_SEXUAL"
	//   "HARM_TYPE_FRINGE"
	//   "HARM_TYPE_POLITICAL"
	//   "HARM_TYPE_MEMORIZATION"
	//   "HARM_TYPE_SPII"
	//   "HARM_TYPE_NEW_DANGEROUS" - New definition of dangerous.
	//   "HARM_TYPE_MEDICAL"
	//   "HARM_TYPE_HARASSMENT"
	HarmType []string `json:"harmType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "HarmType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HarmType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootHarmSafetyCatCategories struct {
	// Possible values:
	//   "SAFETYCAT_CATEGORY_UNSPECIFIED"
	//   "TOXICITY" - SafetyCat categories.
	//   "OBSCENE"
	//   "SEXUAL"
	//   "INSULT"
	//   "IDENTITY_HATE"
	//   "DEATH_HARM_TRAGEDY"
	//   "VIOLENCE_ABUSE"
	//   "FIREARMS_WEAPONS"
	//   "PUBLIC_SAFETY"
	//   "HEALTH"
	//   "RELIGION_BELIEF"
	//   "DRUGS"
	//   "WAR_CONFLICT"
	//   "POLITICS"
	//   "FINANCE"
	//   "LEGAL"
	//   "DANGEROUS" - Following categories are only supported in
	// SAFETY_CAT_TEXT_V3_PAX model
	//   "DANGEROUS_SEVERITY"
	//   "HARASSMENT_SEVERITY"
	//   "HATE_SEVERITY"
	//   "SEXUAL_SEVERITY"
	Categories []string `json:"categories,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Categories") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Categories") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

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

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

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

type LearningGenaiRootLanguageFilterResult struct {
	// Allowed: False when query or response should be filtered out due to
	// unsupported language.
	Allowed bool `json:"allowed,omitempty"`
	// DetectedLanguage: Language of the query or response.
	DetectedLanguage string `json:"detectedLanguage,omitempty"`
	// DetectedLanguageProbability: Probability of the language predicted as
	// returned by LangID.
	DetectedLanguageProbability float64 `json:"detectedLanguageProbability,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allowed") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

type LearningGenaiRootMetricOutput struct {
	Debug string `json:"debug,omitempty"`
	// Name: Name of the metric.
	Name         string           `json:"name,omitempty"`
	NumericValue float64          `json:"numericValue,omitempty"`
	Status       *UtilStatusProto `json:"status,omitempty"`
	StringValue  string           `json:"stringValue,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Debug") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Debug") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

type LearningGenaiRootPerRequestProcessorDebugMetadataFactualityDebugMetadata struct {
	// FactRetrievalMillisecondsByProvider: Latency spent on fact retrievals. There
	// might be multiple retrievals from different fact providers.
	FactRetrievalMillisecondsByProvider map[string]string `json:"factRetrievalMillisecondsByProvider,omitempty"`
	// Prompt2queryMilliseconds: Latency spent on prompt2query. The procedure
	// generates a search-friendly query given the original prompt.
	Prompt2queryMilliseconds int64 `json:"prompt2queryMilliseconds,omitempty,string"`
	// ForceSendFields is a list of field names (e.g.
	// "FactRetrievalMillisecondsByProvider") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "FactRetrievalMillisecondsByProvider") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootRAIOutput: This is per harm.
type LearningGenaiRootRAIOutput struct {
	Allowed bool                   `json:"allowed,omitempty"`
	Harm    *LearningGenaiRootHarm `json:"harm,omitempty"`
	Name    string                 `json:"name,omitempty"`
	Score   float64                `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allowed") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

func (s *LearningGenaiRootRAIOutput) UnmarshalJSON(data []byte) error {
	type NoMethod LearningGenaiRootRAIOutput
	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
}

type LearningGenaiRootRegexTakedownResult struct {
	// Allowed: False when query or response should be taken down due to match with
	// a blocked regex, true otherwise.
	Allowed bool `json:"allowed,omitempty"`
	// TakedownRegex: Regex used to decide that query or response should be taken
	// down. Empty when query or response is kept.
	TakedownRegex string `json:"takedownRegex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allowed") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootRequestResponseTakedownResult struct {
	// Allowed: False when response has to be taken down per above config.
	Allowed bool `json:"allowed,omitempty"`
	// RequestTakedownRegex: Regex used to match the request.
	RequestTakedownRegex string `json:"requestTakedownRegex,omitempty"`
	// ResponseTakedownRegex: Regex used to decide that response should be taken
	// down. Empty when response is kept.
	ResponseTakedownRegex string `json:"responseTakedownRegex,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allowed") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootRoutingDecision: Holds the final routing decision, by
// storing the model_config_id. And individual scores each model got.
type LearningGenaiRootRoutingDecision struct {
	Metadata *LearningGenaiRootRoutingDecisionMetadata `json:"metadata,omitempty"`
	// ModelConfigId: The selected model to route traffic to.
	ModelConfigId string `json:"modelConfigId,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 *LearningGenaiRootRoutingDecision) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootRoutingDecision
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// LearningGenaiRootRoutingDecisionMetadata: Debug metadata about the routing
// decision.
type LearningGenaiRootRoutingDecisionMetadata struct {
	ScoreBasedRoutingMetadata       *LearningGenaiRootRoutingDecisionMetadataScoreBased       `json:"scoreBasedRoutingMetadata,omitempty"`
	TokenLengthBasedRoutingMetadata *LearningGenaiRootRoutingDecisionMetadataTokenLengthBased `json:"tokenLengthBasedRoutingMetadata,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ScoreBasedRoutingMetadata")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ScoreBasedRoutingMetadata") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootRoutingDecisionMetadataScoreBased: If we are routing using
// scored based configuration, then the metadata about that is available in
// this proto.
type LearningGenaiRootRoutingDecisionMetadataScoreBased struct {
	// MatchedRule: The rule that was matched.
	MatchedRule *LearningGenaiRootScoreBasedRoutingConfigRule `json:"matchedRule,omitempty"`
	// Score: The score that was generated by the router i.e. the model.
	Score *LearningGenaiRootScore `json:"score,omitempty"`
	// UsedDefaultFallback: No rules were matched & therefore used the default
	// fallback.
	UsedDefaultFallback bool `json:"usedDefaultFallback,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MatchedRule") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MatchedRule") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

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

type LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelInputTokenMetadata struct {
	// ComputedInputTokenLength: The length computed by backends using the
	// formatter & tokenizer specific to the model
	ComputedInputTokenLength int64  `json:"computedInputTokenLength,omitempty"`
	ModelId                  string `json:"modelId,omitempty"`
	// PickedAsFallback: If true, the model was selected as a fallback, since no
	// model met requirements.
	PickedAsFallback bool `json:"pickedAsFallback,omitempty"`
	// Selected: If true, the model was selected since it met the requriements.
	Selected bool `json:"selected,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ComputedInputTokenLength")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ComputedInputTokenLength") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

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

type LearningGenaiRootRuleOutput struct {
	// Possible values:
	//   "NO_MATCH" - This rule was not matched. When used in a ClassifierOutput,
	// this means that no rules were matched.
	//   "MATCH" - This is a generic "match" message, indicating that a rule was
	// triggered. Usually you would use this for a categorization classifier.
	Decision string `json:"decision,omitempty"`
	Name     string `json:"name,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Decision") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Decision") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootScore struct {
	CalculationType *LearningGenaiRootCalculationType `json:"calculationType,omitempty"`
	// InternalMetadata: The internal_metadata is intended to be used by internal
	// processors and will be cleared before returns.
	InternalMetadata *LearningGenaiRootInternalMetadata `json:"internalMetadata,omitempty"`
	ThresholdType    *LearningGenaiRootThresholdType    `json:"thresholdType,omitempty"`
	// TokensAndLogprobPerDecodingStep: Top candidate tokens and log probabilities
	// at each decoding step.
	TokensAndLogprobPerDecodingStep *LearningGenaiRootTokensAndLogProbPerDecodingStep `json:"tokensAndLogprobPerDecodingStep,omitempty"`
	Value                           float64                                           `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CalculationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CalculationType") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

func (s *LearningGenaiRootScore) UnmarshalJSON(data []byte) error {
	type NoMethod LearningGenaiRootScore
	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
}

type LearningGenaiRootScoreBasedRoutingConfigRule struct {
	// EqualOrGreaterThan: NOTE: Hardest examples have smaller values in their
	// routing scores.
	EqualOrGreaterThan *LearningGenaiRootScore `json:"equalOrGreaterThan,omitempty"`
	LessThan           *LearningGenaiRootScore `json:"lessThan,omitempty"`
	// ModelConfigId: This model_config_id points to ModelConfig::id which allows
	// us to find the ModelConfig to route to. This is part of the banks specified
	// in the ModelBankConfig.
	ModelConfigId string `json:"modelConfigId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EqualOrGreaterThan") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EqualOrGreaterThan") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootScoredSimilarityTakedownPhrase: Proto containing the
// results from the Universal Sentence Encoder / Other models
type LearningGenaiRootScoredSimilarityTakedownPhrase struct {
	Phrase          *LearningGenaiRootSimilarityTakedownPhrase `json:"phrase,omitempty"`
	SimilarityScore float64                                    `json:"similarityScore,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Phrase") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Phrase") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

// LearningGenaiRootScoredToken: A token with its own score.
type LearningGenaiRootScoredToken struct {
	// EndTokenScore: Each end_token_score is a logprob for how well the completion
	// would end at a particular token. See
	// http://google3/labs/language/aida/config/proto/model_config.proto;l=376;rcl=573039459
	EndTokenScore float64 `json:"endTokenScore,omitempty"`
	// Score: Each score is the logprob for the token in model response.
	Score float64 `json:"score,omitempty"`
	Token string  `json:"token,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EndTokenScore") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EndTokenScore") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

// LearningGenaiRootSimilarityTakedownPhrase: Each SimilarityTakedownPhrase
// treats a logical group of blocked and allowed phrases together along with a
// corresponding punt If the closest matching response is of the allowed type,
// we allow the response If the closest matching response is of the blocked
// type, we block the response. eg: Blocked phrase - "All lives matter"
type LearningGenaiRootSimilarityTakedownPhrase struct {
	BlockedPhrase string `json:"blockedPhrase,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BlockedPhrase") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BlockedPhrase") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootSimilarityTakedownResult struct {
	// Allowed: False when query or response should be taken down by any of the
	// takedown rules, true otherwise.
	Allowed bool `json:"allowed,omitempty"`
	// ScoredPhrases: List of similar phrases with score. Set only if
	// allowed=false.
	ScoredPhrases []*LearningGenaiRootScoredSimilarityTakedownPhrase `json:"scoredPhrases,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allowed") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type LearningGenaiRootTakedownResult struct {
	// Allowed: False when query or response should be taken down by any of the
	// takedown rules, true otherwise.
	Allowed                       bool                                            `json:"allowed,omitempty"`
	RegexTakedownResult           *LearningGenaiRootRegexTakedownResult           `json:"regexTakedownResult,omitempty"`
	RequestResponseTakedownResult *LearningGenaiRootRequestResponseTakedownResult `json:"requestResponseTakedownResult,omitempty"`
	SimilarityTakedownResult      *LearningGenaiRootSimilarityTakedownResult      `json:"similarityTakedownResult,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allowed") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootThresholdType: The type of score that bundled with a
// threshold, and will not be attending the final score calculation. How each
// score type uses the threshold can be implementation details.
type LearningGenaiRootThresholdType struct {
	// Possible values:
	//   "TYPE_UNKNOWN" - Unknown scorer type.
	//   "TYPE_SAFE" - Safety scorer.
	//   "TYPE_POLICY" - Policy scorer.
	//   "TYPE_GENERATION" - Generation scorer.
	ScoreType string  `json:"scoreType,omitempty"`
	Threshold float64 `json:"threshold,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ScoreType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ScoreType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

// LearningGenaiRootTokensAndLogProbPerDecodingStep: Results of
// RandomSamplingParams::top_k_logprob_per_decoding_step.
type LearningGenaiRootTokensAndLogProbPerDecodingStep struct {
	// ChosenCandidates: Length = total number of decoding steps. The chosen
	// candidates may or may not be in top_candidates.
	ChosenCandidates []*LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate `json:"chosenCandidates,omitempty"`
	// TopCandidates: Length = total number of decoding steps.
	TopCandidates []*LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates `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 *LearningGenaiRootTokensAndLogProbPerDecodingStep) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootTokensAndLogProbPerDecodingStep
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate: A candidate at a
// decoding step.
type LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate struct {
	// LogProbability: The candidate's log probability.
	LogProbability float64 `json:"logProbability,omitempty"`
	// Token: The candidate’s token value.
	Token string `json:"token,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 *LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

func (s *LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate) UnmarshalJSON(data []byte) error {
	type NoMethod LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate
	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
}

// LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates: Candidates
// with top log probabilities at each decoding step.
type LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates struct {
	// Candidates: Sorted by log probability in descending order.
	Candidates []*LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate `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 *LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates) MarshalJSON() ([]byte, error) {
	type NoMethod LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

// LearningGenaiRootToxicityResult: A model can generate multiple signals and
// this captures all the generated signals for a single message.
type LearningGenaiRootToxicityResult struct {
	Signals []*LearningGenaiRootToxicitySignal `json:"signals,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Signals") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Signals") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

// LearningGenaiRootToxicitySignal: Proto to capture a signal generated by the
// toxicity model.
type LearningGenaiRootToxicitySignal struct {
	Allowed bool `json:"allowed,omitempty"`
	// Possible values:
	//   "LABEL_UNSPECIFIED" - Default label.
	//   "NOT_SENSITIVE" - Input is not sensitive.
	//   "SENSITIVE" - Input is sensitive.
	//   "ACCIDENTS_DISASTERS" - Input is related to accidents or disasters.
	//   "ADULT" - Input contains adult content.
	//   "COMPUTER_SECURITY" - Input is related to computer security.
	//   "CONTROVERSIAL_SOCIAL_ISSUES" - Input contains controversial social
	// issues.
	//   "DEATH_TRAGEDY" - Input is related to death tragedy.
	//   "DRUGS" - Input is related to drugs.
	//   "IDENTITY_ETHNICITY" - Input is related to identity or ethnicity.
	//   "FINANCIAL_HARDSHIP" - Input is related to financial hardship.
	//   "FIREARMS_WEAPONS" - Input is related to firearms or weapons.
	//   "HEALTH" - Input contains health related information.
	//   "INSULT" - Input may be an insult.
	//   "LEGAL" - Input is related to legal content.
	//   "MENTAL_HEALTH" - Input contains mental health related information.
	//   "POLITICS" - Input is related to politics.
	//   "RELIGION_BELIEFS" - Input is related to religions or beliefs.
	//   "SAFETY" - Input is related to safety.
	//   "SELF_HARM" - Input is related to self-harm.
	//   "SPECIAL_NEEDS" - Input is related to special needs.
	//   "TERRORISM" - Input is related to terrorism.
	//   "TOXIC" - Input is toxic.
	//   "TROUBLED_RELATIONSHIP" - Input is related to troubled relationships.
	//   "VIOLENCE_ABUSE" - Input contains content about violence or abuse.
	//   "VULGAR" - Input is vulgar.
	//   "WAR_CONFLICT" - Input is related to war and conflict.
	Label string  `json:"label,omitempty"`
	Score float64 `json:"score,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Allowed") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

func (s *LearningGenaiRootToxicitySignal) UnmarshalJSON(data []byte) error {
	type NoMethod LearningGenaiRootToxicitySignal
	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
}

// LearningGenaiRootTranslationRequestInfo: Each TranslationRequestInfo
// corresponds to a request sent to the translation server.
type LearningGenaiRootTranslationRequestInfo struct {
	// DetectedLanguageCodes: The ISO-639 language code of source text in the
	// initial request, detected automatically, if no source language was passed
	// within the initial request. If the source language was passed,
	// auto-detection of the language does not occur and this field is empty.
	DetectedLanguageCodes []string `json:"detectedLanguageCodes,omitempty"`
	// TotalContentSize: The sum of the size of all the contents in the request.
	TotalContentSize int64 `json:"totalContentSize,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "DetectedLanguageCodes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DetectedLanguageCodes") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

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

// LearningServingLlmMessageMetadata: LINT.IfChange This metadata contains
// additional information required for debugging. Next ID: 28
type LearningServingLlmMessageMetadata struct {
	AtlasMetadata *LearningServingLlmAtlasOutputMetadata `json:"atlasMetadata,omitempty"`
	// ClassifierSummary: Summary of classifier output. We attach this to all
	// messages regardless of whether classification rules triggered or not.
	ClassifierSummary *LearningGenaiRootClassifierOutputSummary `json:"classifierSummary,omitempty"`
	// CodeyOutput: Contains metadata related to Codey Processors.
	CodeyOutput             *LearningGenaiRootCodeyOutput `json:"codeyOutput,omitempty"`
	CurrentStreamTextLength int64                         `json:"currentStreamTextLength,omitempty"`
	// Deleted: Whether the corresponding message has been deleted.
	Deleted bool `json:"deleted,omitempty"`
	// FilterMeta: Metadata for filters that triggered.
	FilterMeta []*LearningGenaiRootFilterMetadata `json:"filterMeta,omitempty"`
	// FinalMessageScore: This score is finally used for ranking the message. This
	// will be same as the score present in `Message.score` field.
	FinalMessageScore *LearningGenaiRootScore `json:"finalMessageScore,omitempty"`
	// FinishReason: NOT YET IMPLEMENTED.
	//
	// Possible values:
	//   "UNSPECIFIED"
	//   "RETURN" - Return all the tokens back. This typically implies no filtering
	// or stop sequence was triggered.
	//   "STOP" - Finished due to provided stop sequence.
	//   "MAX_TOKENS" - Model has emitted the maximum number of tokens as specified
	// by max_decoding_steps.
	//   "FILTER" - Finished due to triggering some post-processing filter.
	//   "TOP_N_FILTERED" - Filtered out due to Top_N < Response_Candidates.Size()
	FinishReason      string                              `json:"finishReason,omitempty"`
	GroundingMetadata *LearningGenaiRootGroundingMetadata `json:"groundingMetadata,omitempty"`
	// IsCode: Applies to streaming response message only. Whether the message is a
	// code.
	IsCode bool `json:"isCode,omitempty"`
	// IsFallback: Applies to Response message only. Indicates whether the message
	// is a fallback and the response would have otherwise been empty.
	IsFallback bool `json:"isFallback,omitempty"`
	// LangidResult: Result from nlp_saft DetectLanguage method. Currently the
	// predicted language code and language probability is used.
	LangidResult *NlpSaftLangIdResult `json:"langidResult,omitempty"`
	// Language: Detected language.
	Language string `json:"language,omitempty"`
	// LmPrefix: The LM prefix used to generate this response.
	LmPrefix string `json:"lmPrefix,omitempty"`
	// OriginalText: The original text generated by LLM. This is the raw output for
	// debugging purposes.
	OriginalText string `json:"originalText,omitempty"`
	// PerStreamDecodedTokenCount: Number of tokens decoded by the model as part of
	// a stream. This count may be different from `per_stream_returned_token_count`
	// which, is counted after any response rewriting or truncation. Applies to
	// streaming response only.
	PerStreamDecodedTokenCount int64 `json:"perStreamDecodedTokenCount,omitempty"`
	// PerStreamReturnedTokenCount: Number of tokens returned per stream in a
	// response candidate after any response rewriting or truncation. Applies to
	// streaming response only. Applies to Gemini models only.
	PerStreamReturnedTokenCount int64 `json:"perStreamReturnedTokenCount,omitempty"`
	// RaiOutputs: Results of running RAI on the query or this response candidate.
	// One output per rai_config. It will be populated regardless of whether the
	// threshold is exceeded or not.
	RaiOutputs []*LearningGenaiRootRAIOutput `json:"raiOutputs,omitempty"`
	// RecitationResult: Recitation Results. It will be populated as long as
	// Recitation processing is enabled, regardless of recitation outcome.
	RecitationResult *LearningGenaiRecitationRecitationResult `json:"recitationResult,omitempty"`
	// ReturnTokenCount: NOT IMPLEMENTED TODO (b/334187574) Remove this field after
	// Labs migrates to per_stream_returned_token_count and
	// total_returned_token_count.
	ReturnTokenCount int64 `json:"returnTokenCount,omitempty"`
	// Scores: All the different scores for a message are logged here.
	Scores []*LearningGenaiRootScore `json:"scores,omitempty"`
	// StreamTerminated: Whether the response is terminated during streaming
	// return. Only used for streaming requests.
	StreamTerminated bool `json:"streamTerminated,omitempty"`
	// TotalDecodedTokenCount: Total tokens decoded so far per response_candidate.
	// For streaming: Count of all the tokens decoded so far (aggregated count).
	// For unary: Count of all the tokens decoded per response_candidate.
	TotalDecodedTokenCount int64 `json:"totalDecodedTokenCount,omitempty"`
	// TotalReturnedTokenCount: Total number of tokens returned in a response
	// candidate. For streaming, it is the aggregated count (i.e. total so far)
	// Applies to Gemini models only.
	TotalReturnedTokenCount int64 `json:"totalReturnedTokenCount,omitempty"`
	// TranslatedUserPrompts: Translated user-prompt used for RAI post processing.
	// This is for internal processing only. We will translate in pre-processor and
	// pass the translated text to the post processor using this field. It will be
	// empty if non of the signals requested need translation.
	TranslatedUserPrompts []string `json:"translatedUserPrompts,omitempty"`
	// VertexRaiResult: The metadata from Vertex SafetyCat processors
	VertexRaiResult *CloudAiNlLlmProtoServiceRaiResult `json:"vertexRaiResult,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AtlasMetadata") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AtlasMetadata") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type NlpSaftLangIdLocalesResult struct {
	// Predictions: List of locales in which the text would be considered
	// acceptable. Sorted in descending order according to each locale's respective
	// likelihood. For example, if a Portuguese text is acceptable in both Brazil
	// and Portugal, but is more strongly associated with Brazil, then the
	// predictions would be ["pt-BR", "pt-PT"], in that order. May be empty,
	// indicating that the model did not predict any acceptable locales.
	Predictions []*NlpSaftLangIdLocalesResultLocale `json:"predictions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Predictions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Predictions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type NlpSaftLangIdLocalesResultLocale struct {
	// LanguageCode: A BCP 47 language code that includes region information. For
	// example, "pt-BR" or "pt-PT". This field will always be populated.
	LanguageCode string `json:"languageCode,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 *NlpSaftLangIdLocalesResultLocale) MarshalJSON() ([]byte, error) {
	type NoMethod NlpSaftLangIdLocalesResultLocale
	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
}

type NlpSaftLangIdResult struct {
	// ModelVersion: The version of the model used to create these annotations.
	//
	// Possible values:
	//   "VERSION_UNSPECIFIED"
	//   "INDEXING_20181017"
	//   "INDEXING_20191206"
	//   "INDEXING_20200313"
	//   "INDEXING_20210618"
	//   "STANDARD_20220516"
	ModelVersion string `json:"modelVersion,omitempty"`
	// Predictions: This field stores the n-best list of possible BCP 47 language
	// code strings for a given input sorted in descending order according to each
	// code's respective probability.
	Predictions []*NlpSaftLanguageSpan `json:"predictions,omitempty"`
	// SpanPredictions: This field stores language predictions of subspans of the
	// input, when available. Each LanguageSpanSequence is a sequence of
	// LanguageSpans. A particular sequence of LanguageSpans has an associated
	// probability, and need not necessarily cover the entire input. If no language
	// could be predicted for any span, then this field may be empty.
	SpanPredictions []*NlpSaftLanguageSpanSequence `json:"spanPredictions,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ModelVersion") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ModelVersion") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

type NlpSaftLanguageSpan struct {
	End int64 `json:"end,omitempty"`
	// LanguageCode: A BCP 47 language code for this span.
	LanguageCode string `json:"languageCode,omitempty"`
	// Locales: Optional field containing any information that was predicted about
	// the specific locale(s) of the span.
	Locales *NlpSaftLangIdLocalesResult `json:"locales,omitempty"`
	// Probability: A probability associated with this prediction.
	Probability float64 `json:"probability,omitempty"`
	// Start: Start and end byte offsets, inclusive, within the given input string.
	// A value of -1 implies that this field is not set. Both fields must either be
	// set with a nonnegative value or both are unset. If both are unset then this
	// LanguageSpan applies to the entire input.
	Start int64 `json:"start,omitempty"`
	// ForceSendFields is a list of field names (e.g. "End") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "End") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

type NlpSaftLanguageSpanSequence struct {
	// LanguageSpans: A sequence of LanguageSpan objects, each assigning a language
	// to a subspan of the input.
	LanguageSpans []*NlpSaftLanguageSpan `json:"languageSpans,omitempty"`
	// Probability: The probability of this sequence of LanguageSpans.
	Probability float64 `json:"probability,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LanguageSpans") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LanguageSpans") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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

// Proto2BridgeMessageSet: This is proto2's version of MessageSet.
type Proto2BridgeMessageSet struct {
}

// UtilStatusProto: Wire-format for a Status object
type UtilStatusProto struct {
	// CanonicalCode: The canonical error code (see codes.proto) that most closely
	// corresponds to this status. This may be missing, and in the common case of
	// the generic space, it definitely will be.
	CanonicalCode int64 `json:"canonicalCode,omitempty"`
	// Code: Numeric code drawn from the space specified below. Often, this is the
	// canonical error space, and code is drawn from google3/util/task/codes.proto
	Code int64 `json:"code,omitempty"`
	// Message: Detail message
	Message string `json:"message,omitempty"`
	// MessageSet: message_set associates an arbitrary proto message with the
	// status.
	MessageSet *Proto2BridgeMessageSet `json:"messageSet,omitempty"`
	// Space: The following are usually only present when code != 0 Space to which
	// this status belongs
	Space string `json:"space,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CanonicalCode") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CanonicalCode") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

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

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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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.
//
// - 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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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. The resource name of the 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"dataset": c.dataset,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"deploymentResourcePool": c.deploymentResourcePool,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 name of the publisher model requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/publishers/*/models/*`.
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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`,
// `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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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: Output only. 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
}

type ProjectsLocationsEndpointsPredictCall struct {
	s                                     *Service
	endpoint                              string
	googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Predict: Perform an online prediction.
//
//   - 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 name of the publisher model requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/publishers/*/models/*`.
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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}`.
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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 *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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 FeatureGroupAdminService.ListFeatureGroups call. Provide
// this to retrieve the subsequent page. When paginating, all other parameters
// provided to FeatureGroupAdminService.ListFeatureGroups must match the call
// that provided the page token.
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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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`
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 FeatureRegistry Feature)
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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: * `big_query_source` * `bigtable` *
// `labels` * `sync_config`
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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` * `serviceAgentType`
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"location": c.location,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 to create the batch of
//     Features under. Format:
//     `projects/{project}/locations/{location}/featurestores/{featurestore}/entit
//     yTypes/{entity_type}`.
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 FeatureRegistry Feature)
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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. Only non-empty Indexes can be deployed.
//
//   - 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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-1000, 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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-1000,
// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"artifact": c.artifact,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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-1000,
// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"context": c.context,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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-1000,
// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"execution": c.execution,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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-1000, 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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: 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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]. Some examples: *
// `notebookRuntimeTemplate=notebookRuntimeTemplate123` *
// `displayName="myDisplayName" * `labels.myKey="myValue" *
// `notebookRuntimeType=USER_DEFINED`
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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"resource": c.resource,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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]. 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`
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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 ListPersistentResourceResponse.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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 name of the publisher model requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/publishers/*/models/*`.
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
}

type ProjectsLocationsPublishersModelsPredictCall struct {
	s                                     *Service
	endpoint                              string
	googlecloudaiplatformv1predictrequest *GoogleCloudAiplatformV1PredictRequest
	urlParams_                            gensupport.URLParams
	ctx_                                  context.Context
	header_                               http.Header
}

// Predict: Perform an online prediction.
//
//   - 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 name of the publisher model requested to serve the prediction.
//     Format: `projects/{project}/locations/{location}/publishers/*/models/*`.
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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}`.
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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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.catchUp 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboard": c.tensorboard,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboard": c.tensorboard,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboard": c.tensorboard,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"tensorboardTimeSeries": c.tensorboardTimeSeries,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"timeSeries": c.timeSeries,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
}

type ProjectsLocationsTuningJobsCancelCall struct {
	s                                             *Service
	name                                          string
	googlecloudaiplatformv1canceltuningjobrequest *GoogleCloudAiplatformV1CancelTuningJobRequest
	urlParams_                                    gensupport.URLParams
	ctx_                                          context.Context
	header_                                       http.Header
}

// Cancel: Cancels a TuningJob. Starts asynchronous cancellation on the
// TuningJob. 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 TuningJob is
// not deleted; instead it becomes a job with a TuningJob.error value with a
// google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and
// TuningJob.state is set to `CANCELLED`.
//
//   - name: The name of the TuningJob 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
}

type ProjectsLocationsTuningJobsCreateCall struct {
	s                                *Service
	parent                           string
	googlecloudaiplatformv1tuningjob *GoogleCloudAiplatformV1TuningJob
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Create: Creates a TuningJob. A created TuningJob right away will be
// attempted to be run.
//
//   - parent: The resource name of the Location to create the TuningJob 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_)
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
}

type ProjectsLocationsTuningJobsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets a TuningJob.
//
//   - name: The name of the TuningJob resource. 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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
}

type ProjectsLocationsTuningJobsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists TuningJobs in a Location.
//
//   - parent: The resource name of the Location to list the TuningJobs 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 via ListTuningJob.next_page_token of the previous
// GenAiTuningService.ListTuningJob][] 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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_)
	var body io.Reader = nil
	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,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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
}

// 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_)
	}
	var body io.Reader = nil
	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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	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 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
}

// 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 (see go/bcp47).
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_)
	}
	var body io.Reader = nil
	c.urlParams_.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, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	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
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
}
